直到现在我从角度种子中练习了我的ANgular 2项目 here
在使用这个项目的时候,我习惯在system.config.js中包含所有第三方库,如下所示
map: {
'ng2-file-upload': 'npm:ng2-file-upload'
},
packages: {
ng2-file-upload: {
defaultExtension: 'js'
}
这对我来说非常好。现在我正在使用角度cli而且我很困惑包含在其中。
在angular-cli.json中,
"scripts": [
?????
],
任何人都可以帮帮我。谢谢
答案 0 :(得分:1)
您将依赖项存储在node_modules
文件夹中。当您需要它们时,可以使用import
语句将它们导入到文件中。编译成JS时,import
通常会替换为require
。
当您在浏览器中执行代码时,需要加载程序从node_modules
加载这些文件,并且此类加载程序是SystemJS。了解更多为什么需要SystemJS here。 SystemJS需要知道模块的路径,这就是你需要向system.config.js
添加依赖项的原因。
但是,angular-cli
使用webpack模块bundler,它有自己的内置加载器。当webpack捆绑文件时,它会解析路径并将它们内联到生成的包中。这就是为什么在使用angular-cli
时无需在任何地方添加路径的原因。
我只是尝试将ng2-tag-input
与angular-cli
一起使用。一切正常。我刚刚将以下内容导入主模块:
...
import {TagInputModule} from 'ng2-tag-input';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
@NgModule({
declarations: [
AppComponent
],
imports: [
...
TagInputModule, BrowserAnimationsModule
],
并安装了@angular/animations
。以下代码段工作正常:
@Component({
template: '<tag-input [(ngModel)]='items'></tag-input>',
...
})
export class AppComponent {
items = ['Pizza', 'Pasta', 'Parmesan'];
}
您还需要安装@angular/animations
答案 1 :(得分:0)
我没有使用过SystemJS,但是:
是的,您可以将您的库添加到scripts
"scripts": [
"pathToLibray"
]
但是如果你有一个为Angular构建的npm包,你可以在不导入的情况下使用它。它会从node_modules
希望我能提供帮助:)