我有一个我正在使用的原生插件,它在我的开发机器上工作得很好但是在任何其他机器上都失败了,因为webpack构建使用了本机模块的绝对路径而不是相对的路径。这是我得到的错误:
/main.prod.js:7543: Uncaught Error: Cannot open /Users/.../app/lib/main.node: Error: dlopen(/Users/.../app/lib/main.node, 1): image not found
在我的main.dev.js中,我导入了这样的文件:import main from './lib/main.node';
在webpack配置中,我为.node添加了模块测试:
export default {
externals: Object.keys(externals || {}),
module: {
rules: [{
test: /\.jsx?$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
cacheDirectory: true
}
}
}, {
test: /\.node$/,
use: 'node-loader'
}]
},
...
如何确保我的main.node文件为构建打包并通过相对路径导入?
答案 0 :(得分:1)
我可以通过切换到node-addon-loader的修改版本来解决此问题。 https://github.com/smt116/node-native-ext-loader