有Angular 2应用程序,使用typescript进行编码,使用SystemJS进行模块加载 .
//sydtemjs.config.js
(function (global) {
System.config({
map: {
'normalizr': 'node_modules/normalizr/dist/src/index.js' //mapping normalizr library
},
packages: {
normalizr: {
defaultExtension: 'js'
}
}
index.js已成功加载,但它包含依赖项:
//node_modules/normalizr/dist/src/index.js
var _Entity = require('./schemas/Entity');
var _Array = require('./schemas/Array');
//etc
浏览器向base_path / node_modules / normalizr / dist / src / schemas / Array(没有js扩展名)发出请求,服务器返回404 .
如何配置systemjs为内部模块附加js扩展?为什么defaultExtension没有解决它?
2 回答
您是否尝试删除
packages
part而是全局使用defaultJSExtensions
?像这样的东西:
我会避免使用defaultJSExtensions的解决方案,因为在较新版本的systemjs中不推荐使用此属性 .
您还需要映射规范化器的所有依赖关系才能使其正常工作,否则,systemjs将无法知道如何加载 .
在这种情况下,您可能最好使用jspm自动创建配置 .