Webpack运行构建但不退出命令

16

Webpack构建成功,但无法自动退出命令行。如何退出?

尝试移除--progress和webpack-dashboard,仍无法解决。

webpack.base.conf.js

...// require
module.exports = {
  mode: process.env.NODE_ENV,
  entry: {
    app: './src/main.js',
  },
  output: {
    path: util.resolve('dist'),
    filename: 'js/[name].[hash].js',
    chunkFilename: 'js/[id].[chunkhash].js',
  },
  module: {
    rules: [
      ...util.eslint,
      ...util.cssLoaders,
      // more loaders
  },
  plugins: [
      new CleanWebpackPlugin(),
      new HtmlWebpackPlugin({
        template: path.resolve(__dirname, '../public/index.html'),
        minify: {
          removeComments: true,
          collapseWhitespace: true,
          removeAttributeQuotes: true,
        },
      }),
    new DllLinkPlugin({
      htmlMode: true,
      config: require('./webpack.dll.conf.js'),
    }),
  ],
  stats: {
    children: false, 
    builtAt: true, 
    cached: true,
    cachedAssets: true
  }
};

webpack.prod.conf.js

// requere...
const config = require('./webpack.base.conf');
const env = require('../env.production')

module.exports = merge(config, {
  bail: true,
watch:false,
  devtool: 'cheap-module-source-map',
  plugins: [
    // ... mini css html
    new CompressionWebpackPlugin({
      filename: '[path].gz[query]',
      algorithm: 'gzip',
      test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
      threshold: 10240,
      minRatio: 0.8
    })
  ],
  optimization: {
    ... options
  }
});

package.json

    "build": "cross-env NODE_ENV=production webpack --progress --config build/webpack.prod.conf.js",

运行此链接

npm run build

我预计在成功构建后需要退出命令,而不是像这张图片

你有找到任何线索吗? - KOTIOS
2个回答

18

将此内容添加到您的webpack.base.conf.js文件中

plugins: [
    // your plugins...
    {
       apply: (compiler) => {
         compiler.hooks.done.tap('DonePlugin', (stats) => {
           console.log('Compile is done !')
           setTimeout(() => {
             process.exit(0)
           })
         });
       }
    }
]

这里使用了webpack的编译器钩子, https://webpack.js.org/api/compiler-hooks/#done


你能在这里解释一下原因吗? - LF00
我确认它可以工作!谢谢! - Jamviet.com
非常感谢你,即使这感觉像是黑客攻击,但它对我帮助非常大。 - Kadaj
听我说,谢谢你,因为你温暖了四季。 - qiz_newbie

-1
在我的情况下,我设置了一个节点进程来显示webpack Bundle Analyzer,这就是为什么我的命令不会退出(除非我手动关闭节点服务,否则它将始终运行)。

根据当前的写法,你的回答不清楚。请编辑以添加额外的细节,帮助他人理解这如何回答问题。你可以在帮助中心找到关于如何撰写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接