运行启用watch的webpack并启动服务器

我正在使用webpack捆绑我的快递服务器,并希望利用webpack观察器。 我正在使用nodemon在软件包更改时重新启动我的服务器。

我可以在一个terminal中手动运行webpack和观察器,并在一秒钟内启动nodemon,但是我最终希望能够使用“npm start”脚本干净地启动这两个进程。

恩。 Webpack Bundles – > Nodemon Starts – > Webpack Watchers开始

有人对这个话题有什么想法吗?

       

网上收集的解决方案 "运行启用watch的webpack并启动服务器"

我最终使用Webpack / Nodemon Node API创build了一个定制的构build脚本,而不是CLI。 这个选项为我提供了更多的灵活性来定制我喜欢的terminal输出。

import webpack from 'webpack'; import nodemon from 'nodemon'; import webpackConfig from './webpack.config.babel'; const compiler = webpack(webpackConfig); compiler.run((runErrors, runStats) => { console.log(runStats.toString({ cached: false, colors: true, assets: true, chunks: false, chunkModules: false, chunkOrigins: false, errors: true, errorDetails: true, hash: false, modules: false, timings: false, warnings: false, version: false, })); console.log(); nodemon({ script: 'build/server.bundle.js', watch: 'build/server.bundle.js' }).on('restart', () => { process.env.NODEMON_STATUS = 'restarted'; }); compiler.watch({}, (watchErrors, watchStats) => { const hasErrors = watchErrors || watchStats.hasErrors(); if (hasErrors) { console.log((watchStats.toString({ cached: false, colors: true, assets: false, chunks: false, chunkModules: false, chunkOrigins: false, errors: true, errorDetails: true, hash: false, modules: false, timings: false, warnings: false, version: false, children: false, reasons: false, source: false, }))); } }); }); process.on('SIGINT', () => { process.exit(0); }); process.on('SIGTERM', () => { process.exit(0); }); process.on('SIGUSR2', () => { process.exit(0); }); process.on('exit', () => { process.exit(0); }); 

如果nodemon在文件更改时自动重启服务器,则可以使用并发调用的包。

首先同时安装作为开发依赖。

 npm i concurrently --save-dev 

之后编辑你的package.json

 "start": "**webpack build** && concurrently --kill-others \"nodemon app.js\" \"**webpack watch**\"" 

ps:我添加了**占位符,你应该改变它们之间的命令与你的命令,build立和观看。