如何使用Uglify.js为Express.js中的每个视图连接JavaScript
How to use Uglify.js to concat JavaScript for each view in Express.js
所以,我有一个建立在express.js的网站,我希望使用uglify.js来管理我的构建过程中的一些javascript。
我的典型视图是这样的:
extend layout
block head
script(src="/js/polyfills/html5shiv.js")
block body
header
nav...
main
section
form...
footer
nav...
script(src="/js/polyfills/arrayGenerics.js")
script(src="/js/polyfills/placeholder.js")
script(src="/js/formSubmitter.js")
理想情况下,顶部的JavaScript文件将被缩小,底部的JavaScript文件将被连接成一个并缩小。
我知道如何在命令行上做到这一点,我可以使用npm脚本来"自动化"一点,但是我如何处理编辑这个视图文件呢?其他视图文件呢?然后,我怎样才能让事情恢复到原来的样子,这样我才能继续开发?
我习惯了手写笔和它处理css类似问题的方式,最终生成一个漂亮的。css文件,并在飞行中很好地工作,但javascript似乎有点不同,我不太确定如何处理它。
您可以使用gulp设置uglify,将所有内容连接到一个文件或单独的文件中。理想情况下,如果你知道你有JS文件1,2,&3在页面顶部,4在页面底部,你可以设置它连接1,2,&3一起,只是缩小文件4。
Gulp文件看起来像这样:
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
// Process scripts and concatenate them into one output file
gulp.task('topScripts', ['clean'], function() {
gulp.src(paths.scripts, {cwd: bases.app})
.pipe(uglify())
.pipe(concat('top.js'))
.pipe(gulp.dest(bases.dist + 'js/'));
});
gulp.task('botScripts', ['clean'], function() {
gulp.src(paths.scripts, {cwd: bases.app})
.pipe(uglify())
.pipe(concat('bot.js'))
.pipe(gulp.dest(bases.dist + 'js/'));
});
相关文章:
- Backbone.js视图中的多个模型
- 带有jquery插件的backbone.js视图
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- Angular JS-视图不工作
- 为什么当我单击X时,所有项目都会从我的Backbone.js视图中删除
- 主干.js视图不会在页面加载时显示,但可以在控制台中与 jQuery 配合使用
- 单击'Backbone.js视图'不要工作
- 设置Sails js视图扩展不'不起作用
- 在 Node.js 视图中创建 OpenLayers 映射
- 支持使用Backbone.js视图加载异步模板
- Backbone.js视图可以有一个模型和一个集合吗
- backbone.js视图没有't由于异步获取而显示结果;t渲染
- 为什么我在尝试实例化一个空的backbone.js视图时出现类型错误
- 如何创建adonis.js视图
- Backbone.js视图未渲染
- Backbone js视图渲染点击方法未调用[Very Basic]
- 我可以't填充backbone.js视图
- 如何在anular.js视图中比较两个字符串
- 在Backbone.js视图中拖动gabilly.js事件
- 关于主干的困惑.js视图的渲染函数