Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';无法使用browserify和debowerify获取外部库_Javascript_Angularjs_Package_Gulp_Browserify - Fatal编程技术网

Javascript Can';无法使用browserify和debowerify获取外部库

Javascript Can';无法使用browserify和debowerify获取外部库,javascript,angularjs,package,gulp,browserify,Javascript,Angularjs,Package,Gulp,Browserify,我手上头痛。以下是我当前的设置: bower获取供应商库(在本例中为angular) 吞下任务以运行browserify debowerify使bower库与browserify兼容 App.js(浏览之前): 'use strict'; var angular = require("angular"); var Routes = require("./routes"); angular.module('MyAngularApp') .config(Routes); var ang

我手上头痛。以下是我当前的设置:

  • bower获取供应商库(在本例中为angular)
  • 吞下任务以运行browserify
  • debowerify使bower库与browserify兼容
App.js(浏览之前):

'use strict';

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

angular.module('MyAngularApp')
  .config(Routes);
var angular = require("./../ext/angular/angular.js");
var Routes = require("./routes");

angular.module('MyAngularApp')
  .config(Routes);
App.js(在browserify之后/在bundle.js中):

'use strict';

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

angular.module('MyAngularApp')
  .config(Routes);
var angular = require("./../ext/angular/angular.js");
var Routes = require("./routes");

angular.module('MyAngularApp')
  .config(Routes);
到目前为止还不错,对吧?看起来debowerify完成了它的工作,并用bower提供的到
angular.js
的相对路径替换了
angular

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

问题:为什么不使用
require
功能正确导入
angular

我将其放入我的
package.json
以使
debowerify
工作:

  "browserify": {
    "transform": [
      "debowerify"
    ]
  },

AngularJS目前不支持CommonJS,因此
var angular=require(“angular”)
不起作用。不要使用它,只需使用
require('angular')


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

。我一直在尝试使用bowerify shim、“browser”属性和debowerify(不是同时使用),但它不起作用。这是真的!我设法用
browserify
公开了它,回答是:这里也一样!我花了很多时间试图让browserify和debowerify与browserify shim一起工作,但这个简单的答案为我解决了这个问题,谢谢!