在我的项目中,我使用Gulp编程地使用Browserify。在我的主JavaScript文件中,我要求模块A和B。A也使用B。在Browserify的输出中,我可以找到模块A的绝对路径。
输出如下:
以下是 gulpfile.js 的相关部分:
输出如下:
!function t(n,o,r){function e(s,a){if(!o[s]){if(!n[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=o[s]={exports:{}};n[s][0].call(f.exports,function(t){var o=n[s][1][t];return e(o?o:t)},f,f.exports,t,n,o,r)}return o[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)e(r[s]);return e}({1:[…]
…
10:[function(t,n){n.exports=t(9)},{"/Applications/MAMP/htdocs/Projects/xyz/node_modules/moduleA/node_modules/moduleB/index.js":9}]},{},[1]);
以下是 gulpfile.js 的相关部分:
代码如下:
browserify(['./app/js/main.js'], {})
.bundle()
//Pass desired output filename to vinyl-source-stream
.pipe(source('main.min.js'))
//convert from streaming to buffered vinyl file object
.pipe(buffer())
// Start piping stream to tasks!
.pipe(gulp.dest('app/js/'));
我该如何避免这个问题?我已经尝试了几种Browserify选项,但都没有帮助。 附注:这两个模块是通过npm从GitHub安装的,因为它们没有在npm上发布。
vendor.js
构建文件从 1.4MB 减小到了 1.1MB :) - Sergiu Paraschiv