javascript - AngularJS、Browserify 和模块加载

标签 javascript angularjs gulp browserify

好吧,我不知道。我在互联网上搜索了大约 3 天,但找不到任何关于如何将 Browserify 与 AngularJS 和 Gulp 结合使用的示例。是的,有一些例子,但它们都表明最终没人会使用简单的“hello world”应用程序结构。他们都在主 app.js 文件中编写他们的小 Controller 。没有模块化设置。我发现的模块化设置,好吧......它们将所有文件手动包含在 index.html 文件中......叹息(对不起我的语气)。

我试图实现的是自动加载我所有的应用程序文件,但它不起作用。我需要做什么来包含我的 Controller 文件?这不是 browserify 的用途吗?为什么它不起作用?

第一个答案可能是:您需要require() 文件。但是怎么办?我尝试了 require('myApp.mainController'); 以及 require('src/features/main/main-controller.js') 结果如下:

Error: No Module found.

如果有人能指出正确的方向,请帮助我! :). 提前致谢!必要的信息位于行下方。


项目结构

|project
|-builds
| |-development
| |-production
|-src
| |-components
| |-features
| | |-main
| | | |-main-ctrl.js
| | | |-main.html
| | |-dashboard
| | | |-dashboard-ctrl.js
| | | |-dashboard.html
| |-app.js
| |-app.scss
| |-index.html

应用程序.js

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

var app = angular.module('myApp', [
  'ui.router',
  'myApp.mainController'
]).config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
  $urlRouterProvider.otherwise('/');

  $stateProvider
    .state('main', {
      url: '/',
      templateUrl: 'src/features/main/main.html',
      controller: 'mainController'
    })
    .state('dashboard', {
      url: '/dashboard',
      templateUrl: 'src/features/dashboard/dashboard.html',
      controller: 'dashboardController'
    })
}]);

主控.js

angular.module('myApp.mainController', [])

  .controller('mainController', ['$scope', 'Main', function($scope, Main) {
    $scope.message = Main.message;
}]);

gulp文件.js

gulp.task('js', function() {
  return browserify({
    entries: 'src/app.js',
    debug: true
  })
    .bundle()
    .pipe(gulp.dest('builds/development'))
    .pipe(connect.reload());

});

最佳答案

我就是这样解决这个问题的。

  • 我在我创建的每个“模块”中都放置了一个 index.js 文件。该文件显然被视为一个模块。
  • 从这里我需要 Controller 、工厂/服务并将它们添加到我的 AngularJS 应用程序中。

关于javascript - AngularJS、Browserify 和模块加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066399/

相关文章:

node.js - gulp-util 现在包含在 gulp 的 npm 安装中了吗?

JavaScript 添加函数,调用次数不限

javascript - Textarea 在浏览器之间没有以相同的方式更新

javascript - 根据输入验证启用/禁用按钮

javascript - ng-repeat 不更新 html

javascript - 如何使用 gulp uglify 以 angular 2 加载缩小文件? (缩小 TYpescript 捆绑文件)

typescript - 尝试访问已编译的 Handlebars 模板文件引发隐含的任何错误

javascript - React DropzoneComponent 在上传之前在本地打开/修改文件

javascript - 如何测试 shouldComponentUpdate 方法?

javascript - $http.get 返回 index.html 代码,而不是来自 php 数据库调用的数据