无法使用browserify和debowerify获取外部库

JT7*_*703 9 javascript package angularjs browserify gulp

我手上都很头疼.这是我目前的设置:

  • bower获得供应商库(在这种情况下是有角度的)
  • gulp任务运行browserify
  • debowerify使凉亭库与browserify兼容

App.js(在浏览之前):

'use strict';

var angular = require("angular");
var Routes = require("./routes");

angular.module('MyAngularApp')
  .config(Routes);
Run Code Online (Sandbox Code Playgroud)

App.js(在browser.js中的browserify /之后):

var angular = require("./../ext/angular/angular.js");
var Routes = require("./routes");

angular.module('MyAngularApp')
  .config(Routes);
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都那么好吧?似乎debowerify做了它的工作,取而代之的angularangular.js从凉亭的相对路径.

但是当我bundle.js在浏览器命令行中调试时,在执行前两require行(for angularRoutes)之后,angular是一个空的obj,但这Routes正是我在导出中设置的正确函数.

问题:为什么没有angular使用该require功能正确导入?

我把它放到我package.jsondebowerify工作中:

  "browserify": {
    "transform": [
      "debowerify"
    ]
  },
Run Code Online (Sandbox Code Playgroud)

Tsu*_*ura 13

AngularJS目前不支持CommonJS,所以var angular = require("angular")不起作用.而不是它,只使用require('angular').

'use strict';

require('angular');
var Routes = require("./routes");

angular.module('MyAngularApp')
  .config(Routes);
Run Code Online (Sandbox Code Playgroud)

Angular对象将被全局加载,它也可以被其他JS文件访问.