当我尝试使用browserify,angularjs和restangular时,我遇到了一个问题。
当我试图请求npm或bower模块时,比如require('restangular),browserify会返回空对象。当我需要任何bower或npm模块时,就会发生这种情况。当我试图请求任何本地文件时,一切都正常。
文件结构:
bower_components/
src/
-client
-app
app.js
backend
backend.module.js
-test
test.module.ls
test.js
node_modules/app.js
(function() {
'use strict';
require('angular');
var rest = require('restangular');
console.log(rest);
module.exports = angular
.module('app', [
require('restangular').name,
require('./test/test.module').name,
]);
})(); package.json
"browserify": {
"transform": [
"browserify-shim"
]
},
"browser": {
"restangular": "./bower_components/restangular/dist/restangular.js"
},
"browserify-shim": {
"restangular": "restangular"
}gulpfile.js
gulp.task('browserify', function() {
gulp.src(['./src/client/app/app.js'])
.pipe(plugins.browserify({
insertGlobals: true,
debug: true
}))
.pipe(plugins.concat('bundled.js'))
.pipe(gulp.dest('./src/client/js'))
});你能帮帮我吗?提前谢谢。
发布于 2015-11-23 20:59:02
只需在package.json中修改您的“浏览器”部分:
"browserify-shim": {
"angular": {
"exports": "angular"
},
"restangular": {
"depends": [
"angular"
],
"exports": "restangular"
}
}希望它能起作用。
发布于 2016-03-22 05:16:31
尝试使用此代码片段修改package.json文件。
"browser": {
"restangular": "./bower_components/restangular/dist/restangular.js"
},
"browserify-shim": {
"restangular": {
"depends": [
"angular",
"lodash:_"
],
"exports": "null"
}
}来自此discussion的@newtricks提供的解决方案
https://stackoverflow.com/questions/31739646
复制相似问题