我正在使用systemJS来管理我的包,所以我将这些行添加到我的systemjs的配置文件中:
{
map: { 'ng2-file-upload': 'node_modules/ng2-file-upload' },
packages: {
'ng2-file-upload': {
main: './ng2-file-upload/ng2-file-upload.js', // also tried with './ng2-file-upload.js'
defaultExtension: 'js'
},
}
}
我通过import { FileDrop, FileUploader } from 'ng2-file-upload';
导入 ng2-file-upload 。
但导入导致我的应用程序“崩溃”:我的typscript编译器似乎运行良好(我可以看到由于其他代码的日志),但修改不再被转换,所以我无法运行任何东西。我没有与 ng2-file-upload 相关的任何错误日志(除了很多Duplicate identifiers
)。
有什么想法吗?
编辑:我已将此软件包从node_modules
解压缩到我的应用程序附近的文件夹(vendor
),并且我使用了导入的相对路径{ {1}}和FileDrop
但是systemjs无法导入:
FileUploader
编辑2:以下是一些细节。
我的应用程序位于Error: SyntaxError: Unexpected token <(…)
下,其中包含2个子文件夹:public
和src
。我在build
内写了ts代码(很明显),我的tsc将转换后的文件保存到src
。目前,我没有捆绑我的文件,因此build
内的层次结构与build
的层次结构相同。
但是只有 ng2-file-upload 才会发生奇怪的事情:在转换过程中,tsc在src
内添加node_modules/ng2-file-upload
文件夹。这是树木:
build
我不知道为什么TSC会转发这个包。当然,我public
|-- build
| |-- core
| |-- modules
| |-- styles
| |-- node_modules
| | |-- ng2-file-upload
+-- src
|-- core
|-- modules
|-- styes
中排除了node_modules
。
答案 0 :(得分:5)
这是我的systemjs.config有效:
var map = {
'app': 'app', // 'dist',
'rxjs': 'node_modules/rxjs',
'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
'@angular': 'node_modules/@angular',
'ng2-file-upload': 'node_modules/ng2-file-upload'
};
var packages = {
'app': { main: 'main.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' },
'angular2-in-memory-web-api': { defaultExtension: 'js' },
'ng2-file-upload': { main: 'ng2-file-upload.js', defaultExtension: 'js' }
};
答案 1 :(得分:0)
我会试试这个配置:
html { overflow: hidden }
并以这种方式导入:
overflow