2015-03-31 71 views
3

我有一个模块用纯ES6编写,我希望在单独的Web应用程序中使用它。该模块的入口点是main.js并包含以下内容:使用ES6/Babel语法对systemJS进行相对动态加载

main.js

export { A } from './a'; 
export { B } from './b'; 
export { C } from './c'; 

当我使用systemJS导入此main.js,然后尝试解决这些依赖本地的Web应用程序,而不是模块。

GET http://localhost:9000/dist/a.js 404(未找到)

我看到有一个为relative dynamic loading支持了,但它涉及通过一个额外的功能到System.import功能,我没有使用 - 我使用ES6语法。

是否有任何示例或最佳做法如何做到这一点?谢谢,麻烦您了。

回答

1

最好的方法是破解你的config.js文件。我们需要用systemjs注册一个指向文件系统库位置的新“存储库”。为此,我们将以下行添加到我们的config.js

System.config({ 
    "map": { 
    ... 
    "lib": "path/to/lib/main" 
    ... 
    } 
}); 

当systemjs尝试加载lib,它找到映射条目和负载lib相对于该位置的依赖关系。如果库位于不合理的位置,则在应用程序中创建目录符号链接可能很有用。

相关问题