Zar*_*Dev 10 javascript commonjs browserify gulp
这是事情,
我来自一个网页中包含多个js文件的世界.有些总是包含在页面中(您的库,菜单等...),其他则取决于当前页面(登录页面的js,订阅的js等).基本上让我们说每页有1个不同的js文件加上libs.
现在我想用browserify开始一个新项目,我面临一个大问题:
所以我的问题是:
这取决于您的具体情况。Browserify通常用于单页面应用程序,其中单个捆绑包通常是最佳解决方案。您正在非单页应用程序中使用它。
我看到两个选择:
将所有东西捆绑在一起。如果您的应用程序相对较小,那么这将是最简单且可能是最有效的解决方案(由于浏览器缓存)。只需包括您所有页面特定的模块以及其他模块即可。
创建单独的捆绑包。您可以为每个页面创建一个包,或为一组相关页面创建一个包。Browserify将为每个捆绑软件创建一个单独的文件,您可以在每个页面上单独包含它们。
<script src="common-bundle.js"></script>
<script src="bundle-for-this-page.js"></script>
Run Code Online (Sandbox Code Playgroud)
您仍然可以require()跨模块使用。
您可以将每个页面的javascript分隔到一个单独的目录中,然后使用该目录自动执行gulp。使用gulp可能看起来像:
var pageDirs = ['page1', 'page2'];
pageDirs.forEach(function(pageDir) {
gulp.task('browserify-' + pageDir, function() {
gulp.src(pageDir + '/index.js')
.pipe(browserify())
.on('prebundle', function(bundle) {
bundle.external('./common-bundle');
})
.pipe(gulp.dest('./build/' + pageDir))
});
});
gulp.task('browserify-all', pageDirs.map(function(pageDir) {
return 'browserify-' + pageDir;
});
Run Code Online (Sandbox Code Playgroud)
创建一个单独的任务以浏览您的公共捆绑包。
| 归档时间: |
|
| 查看次数: |
3016 次 |
| 最近记录: |