詳解Angular-Cli中引用第三方庫(kù)
最近在學(xué)習(xí)angular(AngularJS 2),根據(jù)教程使用angular-cli新建項(xiàng)目,然而在添加JQuery和Bootstrap第三方庫(kù)時(shí)遇到了問(wèn)題...
初試
我最初的想法是直接將相對(duì)路徑寫到index.html即可,如下:
<link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css" rel="external nofollow" /> <script type="text/javascript" src="../node_modules/jquery/dist/jquery.min.js"/> <script type="text/javascript" src="../node_modules/bootstrap/dist/js/bootstrap.min.js"/>
然鵝。。。并不好使,瀏覽器抓包會(huì)顯示請(qǐng)求
http://localhost:4200/node_modules/juqery/dist/jquery.min.js
返回404錯(cuò)誤,bootstrap也是相同的問(wèn)題,這里顯然是路徑不正確,我的項(xiàng)目目錄結(jié)構(gòu)如下:
angular-form/ |- src/ | |- app/ | |- index.html | ... |- node_modules | |- jquery/ | |- bootstrap/ | ...
其中,網(wǎng)站運(yùn)行時(shí)的根目錄是src
目錄,
所以獲取不到與其處在同一目錄的node_modules
目錄下文件也在情理之中...
另辟蹊徑
經(jīng)過(guò)亂七八糟的查找...發(fā)現(xiàn)了可以在/.angular-cli.json
文件中配置腳本引用,
在其app.scripts下配置要添加的腳本, 并在app.styles下配置要添加的樣式文件:
"app": [ { ... "styles": [ "node_modules/bootstrap/dist/css/bootstrap.min.css" ], "scripts": [ "node_modules/bootstrap/dist/css/bootstrap.min.css", "node_modules/bootstrap/dist/css/bootstrap.min.css" ], ... } ]
再次啟動(dòng)網(wǎng)站,卻連編譯都無(wú)法通過(guò)...出現(xiàn)如下問(wèn)題:
ERROR in multi script-loader!./src/~/jquery/dist/jquery.min.js script-loader!./src/~/bootstrap/dist/js/bootstrap.min.js Module not found: Error: Can't resolve 'E:\Code\JavaScript\angular2\angular-forms\src\node_modules\jquery\dist\jquery.min.js' in 'E:\Code\JavaScript\angular2\angular-forms' @ multi script-loader!./src/~/jquery/dist/jquery.min.js script-loader!./src/~/bootstrap/dist/js/bootstrap.min.js
可以看出這里去加載js腳本時(shí)尋找的是src/目錄下的node_modules目錄, 所以加載失敗。這意味著angular-cli.json文件中配置的路徑時(shí)相對(duì)于網(wǎng)站根目錄的路徑, 接著做如下更改:
"app": [ { ... "styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css" ], "scripts": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css", "../node_modules/bootstrap/dist/css/bootstrap.min.css" ], ... } ]
再次運(yùn)行網(wǎng)站,成功加載~~~
回看來(lái)時(shí)路
后來(lái)了解到,angular-cli的項(xiàng)目使用webpack來(lái)將模塊打包, 我們這里配置的scripts
和styles
會(huì)被打包成scripts.bundle.js
和styles.bundle.js
文件加載到前臺(tái)頁(yè)面,而后就可以正常使用這些第三方庫(kù)了~~~
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Angular 4環(huán)境準(zhǔn)備與Angular cli創(chuàng)建項(xiàng)目詳解
- 簡(jiǎn)單談?wù)勱P(guān)于Angular Cli打包的事
- Angularjs為ng-click事件傳遞參數(shù)
- Angular CLI 安裝和使用教程
- Angular2使用Angular CLI快速搭建工程(一)
- 使用Angular CLI進(jìn)行Build(構(gòu)建)和Serve詳解
- 詳解基于angular-cli配置代理解決跨域請(qǐng)求問(wèn)題
- 使用Angular CLI生成路由的方法
- 使用Angular Cli如何創(chuàng)建Angular私有庫(kù)詳解
相關(guān)文章
AngularJS對(duì)動(dòng)態(tài)增加的DOM實(shí)現(xiàn)ng-keyup事件示例
這篇文章主要介紹了AngularJS對(duì)動(dòng)態(tài)增加的DOM實(shí)現(xiàn)ng-keyup事件示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03詳解Angular-ui-BootStrap組件的解釋以及使用
這篇文章主要介紹了詳解Angular-ui-BootStrap組件的解釋以及使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07AngularJS實(shí)現(xiàn)tab選項(xiàng)卡的方法詳解
這篇文章主要介紹了AngularJS實(shí)現(xiàn)tab選項(xiàng)卡的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了AngularJS實(shí)現(xiàn)tab選項(xiàng)卡的原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-07-07學(xué)習(xí)AngularJs:Directive指令用法(完整版)
這篇文章主要學(xué)習(xí)AngularJs:Directive指令用法,內(nèi)容很全面,感興趣的小伙伴們可以參考一下2016-04-04angularJS+requireJS實(shí)現(xiàn)controller及directive的按需加載示例
本篇文章主要介紹了angularJS+requireJS實(shí)現(xiàn)controller及directive的按需加載示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02詳解在Angular項(xiàng)目中添加插件ng-bootstrap
這篇文章主要介紹了詳解在 Angular 項(xiàng)目中添加插件 ng-bootstrap,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07