我是 SystemJs 和 Angular2 的新手。我正在使用 3rd 方包,其中一些有bundles/code.js
文件,一些没有。
那些正在使用的bundles/code.js
我已经设法开始工作。
我包括<script src=foo/bundles/code.js>
,然后能够import * from 'code/foo'
在我的ts
文件中。
这一切对我来说都很有意义,因为bundles/code.js
有类似的东西System.registerDynamic("code/foo",...)
,所以import
知道是什么code/foo
(这是我对它的理解)
我遇到了一个不使用捆绑包的包。我需要加载的.js
文件如下所示:
// ./vendor/ng2-file-upload/ng2-file-upload.js
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
__export(require('./components/file-upload/file-select'));
__export(require('./components/file-upload/file-drop'));
__export(require('./components/file-upload/file-uploader'));
var file_select_2 = require('./components/file-upload/file-select');
var file_drop_2 = require('./components/file-upload/file-drop');
exports.FILE_UPLOAD_DIRECTIVES = [file_select_2.FileSelect, file_drop_2.FileDrop];
//# sourceMappingURL=ng2-file-upload.js.map
我意识到这不是System
格式。我在我的中尝试了以下内容index.html
:
System.config({
packages: {
'js': {
format: 'register',
defaultExtension: 'js'
}
},
meta: {
'vendor/ng2-file-upload/ng2-file-upload.js' : {
format: 'cjs', // I have also tried 'amd' and 'global'
defaultExtension: 'js'
}
}
});
我也试过
System.config({
packages: {
'js': {
format: 'register',
defaultExtension: 'js'
},
'vendor/ng2-file-upload/ng2-file-upload.js' : {
format: 'cjs', // I have also tried 'amd' and 'global'
defaultExtension: 'js'
}
}
});
无论我做什么,我都会遇到以下错误:
未捕获的 ReferenceError:未定义要求
我有两个问题:
- 我该如何加载
ng2-file-upload.js
? - 我将如何
bundle
为这个包创建一个?(该包包含运行时的所有.ts
和.d.ts
文件npm install
)