捆绑后我遇到以下错误:
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;