2016-07-16 105 views

回答

5

是你必须在angular-cli-build.js文件 从vendorNpmFiles引用添加所有你的CSS文件中第一次去到项目目录和类型

npm install --save @ng-bootstrap/ng-bootstrap 

然后打开你的角CLI-build.js和加入这一行

vendorNpmFiles: [ 
    'systemjs/dist/system-polyfills.js', 
    'systemjs/dist/system.src.js', 
    'zone.js/dist/**/*.+(js|js.map)', 
    'es6-shim/es6-shim.js', 
    'reflect-metadata/**/*.+(ts|js|js.map)', 
    'rxjs/**/*.+(js|js.map)', 
    '@angular/**/*.+(js|js.map)', 
    'angularfire2/**/*.js', 
    'firebase/*.js', 
    '@ng-bootstrap/ng-bootstrap/**/*.+(js|js.map)' 
] 

现在打开你的src /系统的conf ig.ts,写

const map: any = { 
    '@ng-bootstrap/ng-bootstrap': 'vendor/@ng-bootstrap/ng-bootstrap' 
}; 

const packages: any = { 
    '@ng-bootstrap/ng-bootstrap': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/accordion': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/alert': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/buttons': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/carousel': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/collapse': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/dropdown': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/pagination': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/popover': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/progressbar': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/rating': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/tabset': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/timepicker': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/tooltip': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/typeahead': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    } 
}; 
+0

编辑答案,因为它要求由角度ui团队编写的ng-bootstrap。它并不是要求Valore Software提供的ng2-bootstrap。看到这里的差异。 https://www.reddit.com/r/Angular2/comments/4s3kkx/what_is_the_difference_between_ngbootstrap/ –

+0

@ pd-farhad当我设置'预编译:[NGB_PRECOMPILE]'我得到了以下错误:bootstrap-angular/tmp/broccoli_type_script_compiler-input_base_path -djYaKive.tmp/0/src/app/app.component.ts(8,3):类型'{moduleId:string;选择器:字符串;指令:(typeof NgbAlert | typeof NgbDismissibleAlert)[...'不能分配给类型为'{selector?:string;输入?:string [];输出?:string [];属性?:string [];事件?:严格......“。 对象字面量可能只指定已知属性,'precompile'不存在于类型'{selector ?: string;输入?:string []; outp –

2

是深受@pd法哈德上述回答,但我想给一些解释的那一个,

其实,如果你要添加一些第三方库angular CLI那么您必须在angular-cli-build.js文件中添加该第三方库引用,因为角度cli将供应商文件夹中的所有文件取而代之node_modules文件夹,所以只要你在cli-build文件中为你的库添加条目(在你的情况下说ng-bootstrap)。它会在角度cli的供应商文件夹中复制该库。这对我们的项目是可用的。所以

How should I add the minified .css from my node_modules folder to my angular-cli project?

你必须给,才能在供应商文件夹来获得在system-cli-build.js文件的文件/库的参考。

Do I have to add it to angular-cli-build.js

是,它的强制性,如果它是图书馆,而不是仅仅在单个文件的情况下,比你可以删除该文件到公用文件夹了。它取决于你。

Do I have to add the typings?

没有太多的强制性。

希望这清除更多!

+0

很好解释。非常感谢这个解释。我是否可以知道为什么它不是强制要求添加类型?添加AngularFire2需要添加类型。那么添加或不添加什么样的决定因素? –

+0

非常感谢您的赞赏,对我来说意味着很多:)抱歉,我无法确切了解,只要我知道我会在现有答案中发布或编辑 –

相关问题