我有一个用纯ES6编写的模块,我想在一个单独的Web应用程序中使用它。该模块的入口点是main.js,包含以下内容:
main.js
export { A } from './a';
export { B } from './b';
export { C } from './c';
当我使用systemJS导入此main.js
时,它会尝试解决Web应用程序本地的这些依赖关系,而不是模块。
获取http://localhost:9000/dist/a.js 404(未找到)
我看到已经支持relative dynamic loading,但它涉及将一个额外的函数传递给System.import
函数,我没有使用它 - 我使用的是ES6语法。
是否有任何示例或最佳做法如何执行此操作?拜托,谢谢你。
答案 0 :(得分:1)
最好的方法是破解* config.js
文件。我们需要注册一个新的存储库' systemjs指向文件系统库的位置。为此,我们将以下行添加到config.js
。
System.config({
"map": {
...
"lib": "path/to/lib/main"
...
}
});
当systemjs尝试加载lib
时,它会找到映射条目并加载lib
相对于该位置的所有依赖项。如果库位于一个不合理的远程位置,那么在应用程序中创建一个目录符号链接可能很有用。