我正在为运行带有旧版Node的Chromium嵌入式框架(CEF)的应用编写插件。
我将webpack和babel放入了应用程序。当我运行webpack时,它在具有const fs = require('fs');
的文件或任何其他默认节点程序包上失败。我的代码和依赖项都在发生这种情况:
Module not found: Error: Can't resolve 'fs' in '/Users/me/repositories/myrepo/node_modules/chokidar'
我的.babelrc
是:
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": true
}
}
]
]
}
我的webpack配置基本上是:
module.exports = {
entry: './src/main.jsx',
mode: process.env.NODE_ENV,
devtool: isDev ? 'eval-source-map' : false,
output: {
path: PLUGINDIR,
filename: 'main.js',
libraryTarget: 'umd'
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: {
plugins: ['transform-react-jsx']
}
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
]
},
resolve: {
extensions: ['.js', '.jsx', '.css']
}
};
答案 0 :(得分:0)
webpack配置也需要target: 'node'
。仅在.babelrc
中做是不够的。