问题描述
我正在编写一个仅在运行测试时存在的小型测试应用程序,否则不存在。因此,我希望 webpack 在启动时执行资产复制。
在package.json
中我添加了
"scripts": {
"test_pack": "webpack --mode development"
},
现在我不确定如何在调用 npm run test_pack
时正确捆绑 mix test
以使其工作?
解决方法
在您的 mix.exs
中,您可以创建 aliases。也许 test
已经有了一个别名,例如(如果您碰巧使用 ecto):
test: ["ecto.create --quiet","ecto.migrate --quiet","test"]
添加你要运行的npm命令,可以使用cmd
任务,它实际上是在执行一个mix.cmd
:
test: ["cmd npm run test_pack","ecto.create --quiet","test"]
不过,来自 mix.cmd
docs 的一个警告,不知道这对您的情况是否重要,但是:
请注意,Erlang VM 在关闭时不会终止子进程。因此,如果您使用 mix cmd 启动长时间运行的进程,然后关闭虚拟机,这些子进程很可能不会随虚拟机一起终止。