Angular-browserify 未找到新路由器

Angular-new-router not found with browserify

我正在使用 browserify 设置一个 angular 项目。

我有一个 gulp 任务,它从 bower_components 目录中获取所有供应商模块并将它们放在一个包中:

gulp.task('dependencies', function () {
    return browserify({
        entries: [dependencies.js],
    })
        .transform(debowerify)
        .bundle()
        .pipe(source(config.filenames.release.dep))
        //.pipe(streamify(uglify()))
        .pipe(gulpif(release,
            gulp.dest(config.paths.dest.release.scripts),
            gulp.dest(config.paths.dest.build.scripts)));

dependencies.js 文件包含此代码:

'use strict';

// bower dependencies (can be edited in package.json)
var angular = require('angular');
require('angular-ui-router');

一切正常。现在我尝试将 ui-router 更改为 angular-new-router

我的新dependencies.js(我的gulp任务没有改变):

'use strict';

// bower dependencies (can be edited in package.json)
var angular = require('angular');
require('angular-new-router');

有关信息,这是我的 bower.json 文件:

{
  "name": "test",
  "private": true,
  "dependencies": {
    "angular": "~1.4.x",
    "angular-new-router": "*",
    "angular-ui-router": "*"
  }
}

使用这个新配置 browserify return 一个奇怪的错误:

: Cannot find module './....\bower_components\angular-new-router\angular-new-router.js' from 'D:\Devs\sharefun\WebApplication2\src\WebApplication2\client\modules' at D:\Devs\sharefun\WebApplication2\src\WebApplication2\node_modules\browserify\node_modules\resolve\lib\async.js:55:21 at load (D:\Devs\sharefun\WebApplication2\src\WebApplication2\node_modules\browserify\node_modules\resolve\lib\async.js:69:43) at onex (D:\Devs\sharefun\WebApplication2\src\WebApplication2\node_modules\browserify\node_modules\resolve\lib\async.js:92:31) at D:\Devs\sharefun\WebApplication2\src\WebApplication2\node_modules\browserify\node_modules\resolve\lib\async.js:22:47 at Object.oncomplete (fs.js:107:15)

我觉得奇怪的是 browserify 正在寻找 bower_components\angular-new-router\angular-new-router.js 而不是 bower_components\angular-new-router\index.js

您大概有答案了,请指定 index.js 的完整路径。尝试

require(angular-new-router/index.js);

import 'angular-new-router/index.js'; ES6

对于现在遇到此问题的任何人来说,知道新的路由器包不再更新可能会有用,但您可以从 angular 项目中获取它。 使用 angular 1.5、components() 和子路由的最新示例可以在这里找到: http://plnkr.co/edit/N3YP3dKMuljpZ6mWsVBT?p=preview