gulp-usemin不输出js文件
我正在尝试使用gulp-usemin
捆绑我的CSS
和javascript
文件进行生产。 gulp-usemin
对我的CSS
文件工作正常,但是不会输出与我的javascript
文件有关的任何内容。 有人能指出我做错了什么吗?
我遇到类似于ggp-usemin的重新编写的文件的问题,但build议的解决scheme不起作用。
作为参考,我的node
版本是v0.12.1
和我的gulp
版本如下:
"devDependencies": { "gulp": "^3.9.1", "gulp-minify-css": "^1.2.4", "gulp-rev": "^7.1.2", "gulp-uglify": "^2.0.0", "gulp-usemin": "^0.3.24" }
index.html
<html> <head> <meta charset="utf-8"> <!-- build:css css/site.css --> <link rel="stylesheet" href="stylesheets/style.css" type="text/css" media="all" /> <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css" type="text/css" media="all" /> <!-- endbuild --> <!-- build:js js/site.js --> <script type="text/javascript" src='bower_components/gsap/src/minified/TweenMax.min.js'> </script> <script type="text/javascript" src='bower_components/d3/d3.js'> </script> <script type="text/javascript" src='bower_components/d3-tip/index.js'> </script> <script type="text/javascript" src='bower_components/moment/moment.js'> </script> <script type="text/javascript" src='chart.js'> </script> <!-- endbuild --> </head> <body> </body> </html>
gulp file
var gulp = require('gulp'); var uglify = require('gulp-uglify'); var usemin = require('gulp-usemin'); var minifyCss = require('gulp-minify-css'); gulp.task('build', function() { return gulp.src(['index.html']) .pipe(usemin({ css: [minifyCss()], js: [uglify()] })) .pipe(gulp.dest('dist/')); });
运行gulp build
我生成一个dist
目录如下
dist/ css/ site.css index.html
我生成的index.html是
<html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/site.css" media="all"/> </head> <body> </body> </html>
有什么明显的,我失踪? 为什么会css
块工作,但js
块静静地失败?
gulp-usemin
使用的正则expression式不允许打开<script>
和</script>
标记之间的任何空格。 它也不允许type="text/javascript"
属性。
看到这个regex101页面的匹配和不匹配的例子。
所以这:
<!-- build:js js/site.js --> <script type="text/javascript" src='bower_components/gsap/src/minified/TweenMax.min.js'> </script> <script type="text/javascript" src='bower_components/d3/d3.js'> </script> <script type="text/javascript" src='bower_components/d3-tip/index.js'> </script> <script type="text/javascript" src='bower_components/moment/moment.js'> </script> <script type="text/javascript" src='chart.js'> </script> <!-- endbuild -->
应该是这样的:
<!-- build:js js/site.js --> <script src='bower_components/gsap/src/minified/TweenMax.min.js'></script> <script src='bower_components/d3/d3.js'></script> <script src='bower_components/d3-tip/index.js'></script> <script src='bower_components/moment/moment.js'></script> <script src='chart.js'></script> <!-- endbuild -->