Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to reference package added by Bower?

In VS.NET 2015, I've added a reference in bower.json for angularjs. This caused the angularjs package to be downloaded, which I can see in the Bower folder.

However, I'm not able to execute any angularjs code. I do have an ng-app in the HTML tag. If I add a CDN reference to the angularjs library, it works fine.

What am I missing to use the package downloaded by Bower?

like image 577
4thSpace Avatar asked May 06 '15 01:05

4thSpace


People also ask

How do you use bower link?

Using 'bower link' in a project folder will create a global link. Then, in some other package, bower link <name> will create a link in the components folder pointing to the previously created link. This allows you to easily test a package because changes will be reflected immediately.

How do I update my bower package?

If there aren't that many bower packages you have installed, try writing bower install [package_name] --save . This will just update your bower. json file.

How do you add bower components to a project?

To add a new Bower package to your project you use the install command. This should be passed the name of the package you wish to install. As well as using the package name, you can also install a package by specifying one of the following: A Git endpoint such as git://github.com/components/jquery.git.


2 Answers

what are you missing is referencing the downloaded libraries in bower_components folder in your index.html.

For example let's say you added restangular to bower. the library while reside in ./bower_components/restangular so in your index.html ( your SPA). you will reference it like this :

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

Beware sometimes you should add all the library main files ( js and css), for that you need to check the value of the main attribute included in the bower.json of the library . for our example in bower.json in ../bower_components/restangular/ we have:

"main": "./dist/restangular.js", In a the file .bowerrc you may define the directory for the downaloaded libraries in my example it will be bower_components.

In your .csproj file add the

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

Use can see this example

like image 53
Master Mind Avatar answered Oct 08 '22 11:10

Master Mind


Since more than likely for production deployment you won't be deploying things in bower_components directory, I suggest you setup a gulp or grunt task to copy all the JavaScript that you are going to use and probably minify and concat / bundle them into a folder in wwwroot like /lib or /js or whatever your convention is going to be and add a script tag pointing to that bundled version. There is a decent walkthrough by Mads Kristensen from the recent Build event that you might want to look at. He demoed all the things you would probably need to get your app running.

like image 35
Jimmy Chandra Avatar answered Oct 08 '22 11:10

Jimmy Chandra