您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Angular-Cli中如何引用第三方庫的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
初試
我最初的想法是直接將相對路徑寫到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"/>
然鵝。。。并不好使,瀏覽器抓包會顯示請求
http://localhost:4200/node_modules/juqery/dist/jquery.min.js
返回404錯誤,bootstrap也是相同的問題,這里顯然是路徑不正確,我的項目目錄結構如下:
angular-form/ |- src/ | |- app/ | |- index.html | ... |- node_modules | |- jquery/ | |- bootstrap/ | ...
其中,網站運行時的根目錄是src
目錄,
所以獲取不到與其處在同一目錄的node_modules
目錄下文件也在情理之中...
另辟蹊徑
經過亂七八糟的查找...發現了可以在/.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" ], ... } ]
再次啟動網站,卻連編譯都無法通過...出現如下問題:
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腳本時尋找的是src/目錄下的node_modules目錄, 所以加載失敗。這意味著angular-cli.json文件中配置的路徑時相對于網站根目錄的路徑, 接著做如下更改:
"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" ], ... } ]
再次運行網站,成功加載~~~
回看來時路
后來了解到,angular-cli的項目使用webpack來將模塊打包, 我們這里配置的scripts
和styles
會被打包成scripts.bundle.js
和styles.bundle.js
文件加載到前臺頁面,而后就可以正常使用這些第三方庫了~~~
感謝各位的閱讀!關于“Angular-Cli中如何引用第三方庫”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。