【发布时间】:2021-11-04 15:05:36
【问题描述】:
运行时
npm run electron:serve
我收到此错误:
在 ./node_modules/msnodesqlv8/build/Release/sqlserverv8.node 模块解析失败:意外字符 '�' (1:2) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。见https://webpack.js.org/concepts#loaders
我想我理解这个错误。我的 webpack 不知道如何处理这个依赖中的 .node 文件 ("msnodesqlv8": "^2.2.0")
我尝试添加节点加载器,但没有成功。我已经尝试在我的 vue.config.js 中像这样配置它:
module.exports = {
transpileDependencies: [
'vuetify'
],
configureWebpack: {
devtool: 'source-map'
},
pluginOptions: {
electronBuilder: {
preload: 'preload/preload.js',
"directories": {
"buildResources": "build"
},
mainProcessWatch:['src/services/background/**'],
"files": [
"build/**/*",
"!node_modules"
],
"win": {
"asar": false,
"target": "nsis",
"icon": "build/icon.ico"
},
"nsis": {
"installerIcon": "build/icon.ico",
"installerHeaderIcon": "build/icon.ico",
"deleteAppDataOnUninstall": true
}
}
},
chainWebpack: config => {
config
.plugin('html')
.tap(args => {
args[0].title = "Configuration Utility";
return args;
});
config.module
.rule('node')
.test(/\.node$/)
.use('node-loader')
.loader('node-loader')
.end();
config.module
.rule('pug')
.test(/\.pug$/)
.use('pug-plain-loader')
.loader('pug-plain-loader')
.end();
}
}
我也尝试添加单独的 webpack.config.js,但没有成功:
module.exports = {
target: "node",
node: {
__dirname: false,
},
module: {
rules: [
{
test: /\.node$/,
loader: "node-loader",
},
],
},
};
我怎样才能让它工作?
【问题讨论】: