This is my production webpack config。标题中的两个引号分别表示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
答案 0 :(得分:5)
所以我想出来了。事实证明我在输出路径中包含了reserved characters。我已经opened an issue on github了。
在output.path webpack中使用无效或保留字符时 将挂起,没有输出。将显示使用--progress标志运行 它挂在95%发射(ting)(后缀取决于webpack 版本)。
答案 1 :(得分:1)
在我的情况下,我试图使用Angular 4,Webpack 3,AOT和延迟加载
使用@ngtools/webpack
和AotPlugin使其冻结率为95%。
修正了什么:
1)。使用node-sass
安装npm install node-sass --no-bin-links
,因为sass-loader
未自动安装 {
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.scss$/,
use: [
'raw-loader',
'sass-loader'
]
}
2)。为SCSS / CSS文件添加这些加载器(甚至在节点模块内):
Scanner scanner = new Scanner(System.in).useLocale(Locale.US);
答案 2 :(得分:1)
npm rebuild node-sass
解决了我的问题。
答案 3 :(得分:1)
我使用laravel-mix作为独立。 这是我的配置:
let mix = require('laravel-mix');
mix.setPublicPath('./')
.js('resources/js/app.js', 'js')
.sass('resources/sass/app.scss', 'css');
这对我有用。
答案 4 :(得分:1)
在我的情况下(Windows环境和laravel-mix),路径中没有任何不正确的字符,因为即使是简单的配置也不起作用。仅仅是webpack(webpack@3.12.0)自己做了一些愚蠢的事情,问题已经使用publicPath
这样的选项解决了:
mix.options({
publicPath: ('./')
});
允许您为应用程序内的所有资产指定基本路径
或者,您可以使用:
mix.setPublicPath('./');
答案 5 :(得分:1)
webpack@4.41.2
答案 6 :(得分:0)
如果导入无效,也会发生此错误。 从其他尚未编译的文件中导入引用。
答案 7 :(得分:0)
运行ng build
和node --inspect node_modules/webpack/bin/webpack.js
应该给出问题路径的输出
答案 8 :(得分:0)
当复制index.html(从角度文件夹剪切此文件)时,我有误点击。将它们复制回去后,问题就消失了。
答案 9 :(得分:0)
设置项目时,我在Angular中遇到了同样的问题。问题是我错误地将index.html文件从./src
文件夹中移出了。
答案 10 :(得分:0)
如果您使用indexTransform
属性并且函数抛出错误,也会发生这种情况。要解决此问题,您可以将函数包装在try / catch中;
module.exports = (targetOptions, indexHtml) => {
try {
...
} catch (error) {
console.error(error)
process.exit(1) // Kills webpack
}
}