【发布时间】:2017-08-10 04:47:49
【问题描述】:
捆绑后出现以下错误:
Module not found: Error: Can't resolve 'crypto' in //filePath
它无法解析五个模块:crypto、fs、path、vm 和 constants - 来自任何需要它们的文件
我以为可能是因为我使用了nvm,但是我通过nvm use system命令切换到系统nodejs,webpack仍然抛出这些错误。
我还认为它可能是target 属性,所以我将其更改为node,但它也没有帮助(无论如何我需要electron-renderer,而不是node)。
重要提示:我刚刚从 webpack 1 迁移。在我迁移之前一切正常。但这些是我唯一的错误。此外,webpack 似乎工作正常,当我通过 --watch 选项时它甚至会监视文件。
这是我的 webpack.config.js:
const config = {
target: 'electron-renderer',
context: __dirname,
entry: { app: './app.js', vendor: [/*vendors*/]},
cache: true,
devtool: 'source-map',
watch: false
resolve: {
extensions: ['.js', '.json', '.jsx'],
modules: ["node_modules"]
},
module: {
rules: [
{test: /\.html/, loader: 'html-loader'},
{
test: /\.less$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: ["css-loader?sourceMap", "less-loader?sourceMap"]
})
},
{
test: /\.css/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader?sourceMap"
})
},
{test: /\.(jpg|png|gif|jpeg|svg|otf|ttf|eot|woff)$/, loader: 'url-loader?limit=10000'}
]
},
plugins: [
new ExtractTextPlugin('styles.[contenthash].css'),
new webpack.optimize.CommonsChunkPlugin({
names: ['commons', 'vendor', 'manifest'],
minChuncks: Infinity
}),
new HtmlWebpackPlugin({
template: './index.html',
filename: 'index.html',
hash: false,
inject: 'head',
cashe: true,
showErrors: true
})
],
output: {
publicPath: './',
path: path.join(__dirname, 'dist'),
filename: '[name].[chunkhash].js',
chunkFilename: '[name].[chunkhash].js'
}
};
module.exports = config;
【问题讨论】:
标签: node.js webpack webpack-2 nvm