mal*_*uri 20 javascript node.js
我有一些自定义测试脚本,我可以使用npm run test命令运行,它执行一些Node脚本来启动e2e/unit测试.但在此之前,我必须npm run dev在其他终端窗口启动webpack dev服务器(它也是一些自定义Node脚本,细节无关紧要).所以,我想省略npm run dev手动执行并将其移动到自定义npm run test脚本,即我想在Node脚本中以编程方式执行webpack dev服务器.如何npm run dev使用Node脚本以编程方式执行然后停止它?提前致谢!
"dev": "node node_modules/webpack-dev-server/bin/webpack-dev-server.js --host 0.0.0.0 --history-api-fallback --debug --inline --progress --config config/config.js"
Run Code Online (Sandbox Code Playgroud)
use*_*755 36
这是一个应该在所有平台上可靠工作的解决方案。它也非常简洁。将其放入build.js,然后运行node build。
const {execSync} = require('child_process')
execSync("npm run clean")
execSync("npm run minify")
execSync("npm run build_assets")
Run Code Online (Sandbox Code Playgroud)
如果 npm 异常终止,它将立即中止。
Foy*_*any 26
您可以使用exec从脚本运行
import {series} from 'async';
const {exec} = require('child_process');
series([
exec('npm run dev'),
exec('npm run test')
]);
Run Code Online (Sandbox Code Playgroud)
mze*_*ler 13
只需安装npm:
npm install npm
Run Code Online (Sandbox Code Playgroud)
然后在你的程序中:
npm.command.run('dev', (err) => { ... });
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅源代码.该npm.command对象是npm的非官方API.
zr0*_*ty7 13
npm 博客文章建议使用shelljs:
let shell = require("shelljs");
shell.exec("echo shell.exec works");
shell.exec("npm run dev");
Run Code Online (Sandbox Code Playgroud)
请参阅https://blog.npmjs.org/post/118810260230/building-a-simple-command-line-tool-with-npm.html
| 归档时间: |
|
| 查看次数: |
14882 次 |
| 最近记录: |