AngularJS,Browserify和模块加载

Niq*_*que 5 javascript angularjs browserify gulp

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

我试图实现的是自动加载我的所有应用程序文件,但它只是不起作用.我需要做什么来包含我的控制器文件?这不是浏览器的用途吗?为什么不工作?

第一个答案可能是:你需要require()文件.但是怎么样?我试着require('myApp.mainController');以及require('src/features/main/main-controller.js')与结果:

错误:找不到模块.

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


项目结构

|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
Run Code Online (Sandbox Code Playgroud)

app.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'
    })
}]);
Run Code Online (Sandbox Code Playgroud)

主ctrl.js

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

  .controller('mainController', ['$scope', 'Main', function($scope, Main) {
    $scope.message = Main.message;
}]);
Run Code Online (Sandbox Code Playgroud)

gulpfile.js

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

});

Niq*_*que 3

这就是我解决这个问题的方法。

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

  • 你好,对于失去的群众,如果存在的话,你能举个例子吗?我在解决 browserify 时遇到了同样的问题,但我不明白你的答案。 (2认同)