是否可以在运行时在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运行时中进行设置。
答案 0 :(得分:0)
对于遇到相同问题的任何人,这是事情:
升级到NativeScript的新bundle workflow后,只需将相应的映射添加到webpack.config.js中即可解决该问题:
const config = {
resolve: {
alias: [
"my_modules/*": "node_modules/my_package/dist/commonjs/my_modules/*"
]
}
}