使用Gulp(和Browserify)包含Angular依赖项

时间:2016-03-11 19:39:18

标签: javascript angularjs node.js gulp

我想用我的新角度应用程序使用Gulp和Browserify。

问题:如何在app.js中包含角度依赖项,以便它不会引发依赖性错误?

我甚至无法加载它而没有依赖关系但只使用配置中的$stateProvider

require('angular');  // It works with a basic declaration, but still gives an error in the browser console - *wierd*
var app = angular
  .module('myApp', [
   // 'ui-router' I want these to be included as well
  ])
  .config(function ($stateProvider) {
    // This will error and say $stateProvider unknown provider
  });

我想包括角度服务/提供商,例如$stateProvider$urlRouterProvider,然后还包括新的依赖项,例如'ui.router','ngAnimate','ngResource',...

我知道我必须包含该文件(与Bower他们在index.html中排成一行,因为脚本包含在凉亭位置)。我是否链接到node_modules ?,将其包含在Gulp?中?不是?,另一个节点模块有npm install ...

我的结构:

|- app
  |- _css
  |- _js
    |- controllers    *for angular*
    |- directives     *for angular*
    |- factories      *for angular*
    app.js            *main angular js file*
  |- _img 
  |- _css           
  |- views
    |- directiveViews *html specifically for directives*
    |- partials       *html snippets*
|- node_modules       *for npm/node*
...
server.js             *for node to launch*
gulpfile.js           *for gulp*

其他相关说明:

  • 最终尝试使用Angular Ui Router应用程序。
  • 我正在尝试不使用凉亭,因为它似乎正在走出去,我想学习浏览器与Gulp。
  • 我不知道config.js(我认为是gulp)的作用或是否需要。
  • 我正在尝试按照this教程进行操作。

1 个答案:

答案 0 :(得分:0)

除了使用angular-ui-router安装npm install angular-ui-router节点模块之外,您还需要像使用角度一样需要此依赖关系。所以你的应用可能看起来像这样:

require('angular');
require('angular-ui-router');

var app = angular
  .module('myApp', ['ui.router'])
  .config(function ($stateProvider) {
  // $stateProvider will be properly injected here
});

browserify和webpack都会根据需求调用(或ES6的情况下导入)确定要放入捆绑包中的内容。