2015-06-25 35 views
8

我对我的角度客户端应用使用browserify。我需要使用下划线。角安装有凉亭和下划线安装有NPM如果需要下划线,browserify源地图不起作用

我这是怎么运行browserify(NPM)和创建一饮而尽(NPM)源地图

gulp.task('browserify', function() { 
    return browserify(dir.script_from + '/main.js', {debug: true}) 
     .bundle() 
     .pipe(source('bundle.js')) // gives streaming vinyl file object 
     .pipe(buffer()) // <----- convert from streaming to buffered vinyl file object 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(uglify()) // now gulp-uglify works 
     .pipe(sourcemaps.write('./')) 
     .pipe(gulp.dest(dir.script_to)); 
}); 

在我main.js,我有

//require('underscore') 
require('angular') 
require('angular-resource') 
require('angular-route') 
require('./home/home_page.js') 
... 

如果我不需要('下划线'),源地图正在工作。我可以查看原始文件并设置断点。

enter image description here

但是,如果我需要( '下划线'),源地图不再工作。我甚至无法查看这些文件。

enter image description here

我也尝试安装与鲍尔强调,但我得到了以下错误:

[23:59:02] Starting 'browserify'... 
events.js:85 
     throw er; // Unhandled 'error' event 
      ^
Error: Cannot find module 'underscore' from '/Users/[my path]/app/client/script' 

注意两个凉亭(我config'ed路径),在NPM放模块的/用户/ [我的路径]/node_modules'文件夹

我甚至尝试了main.js只有一行:require('underscore')和不工作,但空main.js文件工作

+0

你有错误?如:“下划线未定义” – marcel

+0

@marcel npm没有错误,'找不到'凉亭。 – John

+1

你是怎么安装'underscore'的? – marcel

回答

1

我有同样的问题

require: ['node_modules/underscore'] 

的package.json underscore/browserify。也许更好的方法是将其排除在捆绑中。只需将<script>标签链接到您的underscore文件即可。在包中,您可以直接使用_

如果您正在使用angular,建议还使用单独的<script>,因为大多数用户可能已经有CDN的angular可用于另一个角色网站。

3

gulp正在检查根目录中的下划线。尝试在config.js或的package.json

config.js加下划线的路径

"underscore": "./node_modules/underscore"