Require()使用gulp angular browserify返回空对象
require() returning empty object with gulp angular browserify
我遇到了一个问题,我正在使用gulp构建我的项目,gulp在我使用bower下载的外部库上运行browserify任务(带有debowerify)。其中一个库——angular-gridster——已经更新为使用UMD模式,现在它抛出一个错误,对angular的引用是一个空对象。
angular-gridster.js文件是这样开始的:
(function(root, factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// AMD
define(['angular'], factory);
} else if (typeof exports === 'object') {
// CommonJS
module.exports = factory(require('angular'));
} else {
// Browser, nothing "exported". Only registered as a module with angular.
factory(root.angular);
}
}(this, function(angular) {
'use strict';
// This is throwing my error
return angular.module('gridster', [])
,当它试图调用angular.module()时,它会抛出错误'angular '。模块不是一个函数。在调试时,我可以看到angular只是一个空对象,没有正确加载。我不确定这是否是require()方法或gulp或browserify或debowerify的问题…
这是我的gulp任务
gulp.task('dependencies', function() {
gulp.src(paths.dependencies)
.pipe(browserify({
insertGlobals: true,
debug: true,
transform: ['debowerify']
}).on('error', gutil.log))
.pipe(concat('3rdparty.js'))
.pipe(gulp.dest('www/js'));
});
任何想法?谢谢!
我设法解决了这个问题,这只是调用require()函数,然后将现在的全局变量angular传递给factory()方法。
if (typeof define === 'function' && define.amd) {
// AMD
define(['angular'], factory);
} else if (typeof exports === 'object') {
// CommonJS
require('angular');
module.exports = factory(angular);
} else {
// Browser, nothing "exported". Only registered as a module with angular.
factory(root.angular);
}
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- JS验证ajax返回的html中的表单数据
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- AJAX:$_GET不返回任何值
- 从Javascript方法返回全局变量
- Browserify-hogan .render() 返回空字符串
- Require()使用gulp angular browserify返回空对象