在我的应用程序的非捆绑版本中,本机模块(node-hid)可以正常工作。因此,我认为这不是代码错误。
在捆绑版本中,在运行时,我首次开始使用本机模块时会调用__webpack_require__函数,其模块ID会使用当前目录作为基础在多个位置探测./node_modules/bindings sync recursive
模块
即使我在这些位置之一(我尝试过几次)中手动复制hid.node文件,仍然找不到。
我已经尝试调试bindings.js和webpack生成的代码,并发现带有这些探测模块ID的__webpack_require__调用中的module-id参数已更改为./node_modules/
? / p>
我的主要捆绑js文件(webpack)中的模块列表列出了与const path = require("path");
const commonConfig = {
output: {
path: path.resolve(__dirname, "app"),
filename: "[name].js"
},
node: {
__dirname: false
},
devtool: "inline-source-map",
module: {
rules: [
{
test: /\.tsx?$/,
exclude: /node_modules/,
enforce: "pre",
loader: "tslint-loader",
options: {
typeCheck: true,
emitErrors: true
}
},
{
test: /\.tsx?$/,
exclude: /node_modules/,
loader: "ts-loader"
}
]
},
resolve: {
extensions: [".js", ".ts", ".tsx", ".jsx", ".json"]
}
};
module.exports = [
Object.assign({
target: "electron-main",
entry: { program: path.join(__dirname, "src", "Startup.ts") }
}, commonConfig),
Object.assign({
target: "electron-renderer",
entry: { app: path.join(__dirname, "src", "Autostart.ts") }
}, commonConfig)
];
相关的所有模块。
我在这里已经超出我的联盟了,可能我缺少了一件简单的事情。
不知道要进一步指定哪些信息,这是webpack配置(dev):
webpack.config.js
{{1}}