代码之家  ›  专栏  ›  技术社区  ›  yourfavorite

如何将相对路径与节点加载程序和本机加载项一起使用

  •  3
  • yourfavorite  · 技术社区  · 6 年前

    我有一个我正在使用的本机插件,它在我的开发机器上运行得很好,但在任何其他机器上都会失败,因为Web包构建使用了本机模块的绝对路径,而不是相对路径。以下是我得到的错误:

    /main.prod.js:7543: Uncaught Error: Cannot open /Users/.../app/lib/main.node: Error: dlopen(/Users/.../app/lib/main.node, 1): image not found

    在我看来。dev.js我像这样导入文件: import main from './lib/main.node'; 在webpack配置中,我为添加了一个模块测试。节点:

    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'
        }]
      },
    ...
    

    我怎样才能确保我的主要。节点文件为构建打包并通过相对路径导入?

    1 回复  |  直到 6 年前
        1
  •  2
  •   yourfavorite    6 年前

    我可以通过切换到节点加载项加载程序的修改版本来解决这个问题。 https://github.com/smt116/node-native-ext-loader