2014-10-06 43 views
4

我在尝试使用bowserify,angularjs和coffeescript时遇到问题。空对象需要角浏览器

事实上,当我尝试要求(“角”),我得到一个空对象:

angular = require('angular') 
console.log angular ## return an empty object {} 

configuration = require('../../config/config') 
console.log configuration ## returns my fully config file correctly 

我不知道为什么它不会在这种情况下正常工作: - /。 这是我的package.json,我把我的personnal角的依赖关系:

{ 
    "dependencies": { 
     "gulp": "*", 
     "gulp-browserify": "*", 
     "coffeeify": "*", 
     "gulp-concat": "*" 
    }, 
    "browser": { 
     "angular": "./app/core/angular-libs/angular.min.js", 
     "angular-route": "./app/core/angular-libs/angular-route.min.js", 
     "angular-animate": "./app/core/angular-libs/angular-animate.min.js" 
    } 
} 

,这是我一饮而尽文件,生成在dest文件夹我bundle.js:

你能帮忙我 ? : -/

感谢预先

+0

顺便说一句,你可能想直接使用Browserify(而不是使用gulp-browserify插件)https://github.com/gulpjs/gulp/blob/master/docs/recipes/fast-browserify-builds- with-watchify.md – 2014-10-07 09:31:33

+0

检查这一点。 http://stackoverflow.com/questions/25088406/cant-get-external-library-with-browserify-and-debowerify/25111348 – 2014-10-07 14:10:25

回答

9

角1不支持CommonJS的模块,所以它的出口“的空对象。

相反,只需要它(不分配的结果):

require('angular') 

这将附加的角度全局对象。

更新:As of Angular 1.3.14,require('angular')现在返回angular对象。

1

您也可以尝试browserify-shimangular对象链接到module.exports

npm install -save-dev browserify-shim 

我设法angular具有以下配置工作在package.json

{ 
    "browser": { 
     "angular": "./node_modules/angular/angular.js" 
    }, 
    "browserify-shim": { 
     "angular": "angular" 
    }, 
    "browserify": { 
     "transform": [ "browserify-shim" ] 
    } 
} 

这得到周围做角一个全局对象的问题,也。它(angular变量)可能保留存储在同名全局变量中的对象,但如果有人覆盖全局变量,则引用将始终正确。