webpack挂在"95%发射"/"95%发射"

bit*_*ten 10 javascript node.js ecmascript-6 webpack webpack-2

这是我的生产webpack配置.标题中的两个引号分别表示webpack2和webpack.两者都有类似的错误.

这是我触发构建的命令

set NODE_ENV=production && webpack --config config/webpack.config.prod.js --progress --display-error-details

我错过了什么?

以下是运行后的输出,npm run pack它与我的生产webpack构建相关:

$ npm run pack

> somedir@ pack C:\somedir
> set NODE_ENV=production && webpack --config config/webpack.config.prod.js --progress --display-error-details
                           95% emitting
Run Code Online (Sandbox Code Playgroud)

bit*_*ten 7

所以我想出来了.事实证明我在输出路径中包含了保留字符.我已经在github上打开了一个问题.

在output.path中使用无效或保留字符时,webpack将挂起而没有输出.使用--progress标志运行将显示它挂在95%emit(ting)(后缀取决于webpack版本).

  • 感谢指针,为了解决这个问题,我运行了`node --inspect node_modules/webpack/bin/webpack.js`然后打开了chrome中的输出URL,允许我调试代码.然后我看到它卡在`mkdirp`中,因此在该节点模块的函数中添加了一个`console.log`,以查看触发无限循环的路径.我的问题是像`c:\ path\to\output\c:\ source\file`这样的路径,并且由于冒号而引发错误. (2认同)
  • 同样的问题,但是我的根本原因是一个SASS文件,该文件触发了一个缺失的变量错误,该Webpack被处理为JS(抛出新错误),并将其作为文件包含。在Windows上具有绝对源文件路径,包括触发mkdirP函数无限循环的`:`字符。 (2认同)