2015-05-06 43 views
8

在VS.NET 2015中,我爲angularjs在bower.json中添加了一個引用。這導致下載了angularjs包,我可以在Bower文件夾中看到它。如何引用Bower添加的包?

但是,我無法執行任何angularjs代碼。我在HTML標記中有一個ng-app。如果我添加一個CDN引用到angularjs庫,它工作正常。

我錯過了什麼使用由Bower下載的軟件包?

+0

您需要硬編碼引用'bower_components'或使用'gulp/grunt'&'wiredep'來獲取您的index.html文件中的角度 – harishr

回答

7

您缺少的是在index.html中的bower_components文件夾中引用已下載的庫。

例如,假設您將restangular添加到涼亭。在您的index.html(您的SPA)中駐留在./bower_components/restangular中的圖書館。你會像這樣引用它:

<script src="../bower_components/restangular/dist/restangular.js"></script> 

當心有時你應該添加所有的庫主文件(JS和CSS),爲您需要檢查包含在庫中的bower.jsonmain屬性的值。我們在bower.json../bower_components/restangular/例子有:

"main": "./dist/restangular.js", 在.bowerrc您可以定義目錄在我的例子downaloaded庫將是bower_components文件。

在你的.csproj文件中添加

<Content Include="bower_components/restangular/dist/restangular.js" /> 

使用可以看到這個example

+0

似乎設置該路徑完全與VS.NET斷開連接。 「〜」實際上是wwwroot中的根。所以我不能使用它。我嘗試過「../」,但這不起作用。我沒有得到任何intellisense幫助。我猜Angular由於路徑問題而不工作。但我不確定它想要什麼路徑。問題是:你如何引用不在wwwroot中的東西? – 4thSpace

+0

@ 4thSpace您可以添加您的項目目錄層次結構嗎? –

1

由於極有可能用於生產部署你不會bower_components目錄中部署更多的東西,我建議你設置一個gulpgrunt複製所有您要使用的JavaScript的任務,可能會將它們縮小並將其捆綁到wwwroot中的文件夾中,如/ lib或/ js或任何您的約定將會添加的指向該捆綁版本的標籤。 Mads Kristensen在最近的Build活動中有一個體面的walkthrough,你可能想看看。他演示了您可能需要運行的所有應用程序。