NativeScript:虚拟模块路径映射

时间:2019-05-29 12:38:42

标签: typescript nativescript node-modules

是否可以在运行时在NativeScript中使用模块路径映射?

TypeScript compiler option'路径'允许将虚拟模块ID映射到物理模块ID。例如,如果需要使用模块node_modules/my_package/dist/commonjs/my_modules/my_module,则可以定义一个映射,然后再使用虚拟模块my_modules/my_module

// tsconfig.json
{
  "compilerOptions": {
    "paths": {
      "my_modules/*": [ "node_modules/my_package/dist/commonjs/my_modules/*" ]
    }
  }
}

这在编译时工作正常,但是TypeScript编译器不会发出已解析的模块ID。而是将指定的(虚拟)模块ID保留在原位。结果,将在运行时找不到这些模块。

有一个名为module-alias的节点包,可以在nodejs环境中解决此问题。但是,我无法在NativeScript运行时中进行设置。

1 个答案:

答案 0 :(得分:0)

对于遇到相同问题的任何人,这是事情:

升级到NativeScript的新bundle workflow后,只需将相应的映射添加到webpack.config.js中即可解决该问题:

const config = {
  resolve: {
    alias: [
      "my_modules/*": "node_modules/my_package/dist/commonjs/my_modules/*"
    ]
  }
}