在VS.NET 2015中,我爲angularjs在bower.json中添加了一個引用。這導致下載了angularjs包,我可以在Bower文件夾中看到它。如何引用Bower添加的包?
但是,我無法執行任何angularjs代碼。我在HTML標記中有一個ng-app。如果我添加一個CDN引用到angularjs庫,它工作正常。
我錯過了什麼使用由Bower下載的軟件包?
在VS.NET 2015中,我爲angularjs在bower.json中添加了一個引用。這導致下載了angularjs包,我可以在Bower文件夾中看到它。如何引用Bower添加的包?
但是,我無法執行任何angularjs代碼。我在HTML標記中有一個ng-app。如果我添加一個CDN引用到angularjs庫,它工作正常。
我錯過了什麼使用由Bower下載的軟件包?
您缺少的是在index.html中的bower_components文件夾中引用已下載的庫。
例如,假設您將restangular
添加到涼亭。在您的index.html(您的SPA)中駐留在./bower_components/restangular
中的圖書館。你會像這樣引用它:
<script src="../bower_components/restangular/dist/restangular.js"></script>
當心有時你應該添加所有的庫主文件(JS和CSS),爲您需要檢查包含在庫中的bower.json
的main
屬性的值。我們在bower.json
在../bower_components/restangular/
例子有:
"main": "./dist/restangular.js",
在.bowerrc您可以定義目錄在我的例子downaloaded庫將是bower_components文件。
在你的.csproj文件中添加
<Content Include="bower_components/restangular/dist/restangular.js" />
使用可以看到這個example
似乎設置該路徑完全與VS.NET斷開連接。 「〜」實際上是wwwroot中的根。所以我不能使用它。我嘗試過「../」,但這不起作用。我沒有得到任何intellisense幫助。我猜Angular由於路徑問題而不工作。但我不確定它想要什麼路徑。問題是:你如何引用不在wwwroot中的東西? – 4thSpace
@ 4thSpace您可以添加您的項目目錄層次結構嗎? –
由於極有可能用於生產部署你不會bower_components目錄中部署更多的東西,我建議你設置一個gulp或grunt複製所有您要使用的JavaScript的任務,可能會將它們縮小並將其捆綁到wwwroot中的文件夾中,如/ lib或/ js或任何您的約定將會添加的指向該捆綁版本的標籤。 Mads Kristensen在最近的Build活動中有一個體面的walkthrough,你可能想看看。他演示了您可能需要運行的所有應用程序。
您需要硬編碼引用'bower_components'或使用'gulp/grunt'&'wiredep'來獲取您的index.html文件中的角度 – harishr