Gulp HTML 和 JS 拼接 - ERR_FILE_NOT_FOUND
Gulp HTML and JS concatenation - ERR_FILE_NOT_FOUND
我正在使用一些标准 gulp 流程来缩小我的 html、css 和 javascript。我目前遇到的问题是我正在将我的 JS 连接并丑化到一个干净的 scripts.js 文件中。分发文件夹仍然指向多个JS文件,例如:
<script type="text/javascript" src="mock-data-live.js"></script>
<script type="text/javascript" src="vibrant.min.js></script>
<script type="text/javascript" src="siema.min.js"></script>
<script type="text/javascript" src="script.min.js"></script>
变成
<script type="text/javascript" src="script.min.js"></script>
有没有一种方法可以在缩小时更改 HTML 中的原始路径,使它们都指向一个串联文件?
谢谢
安装gulp-html-replace
为此您需要一个额外的 Gulp 包:gulp-html-replace
。
通过以下方式安装:
npm install --save-dev gulp-html-replace
更改HTML文件内容
在您的 HMTL 文件中(假设其名为 "index.html"),您将使用:
<html>
<head>
<!-- build:js -->
<script type="text/javascript" src="mock-data-live.js"></script>
<script type="text/javascript" src="vibrant.min.js></script>
<script type="text/javascript" src="siema.min.js"></script>
<script type="text/javascript" src="script.min.js"></script>
<!-- endbuild -->
编辑gulpfile.js
将构建规则添加到您的 gulpfile.js:
var gulp = require('gulp');
var htmlreplace = require('gulp-html-replace');
gulp.task('default', function() {
gulp.src('index.html')
.pipe(htmlreplace({
'css': 'styles.min.css',
'js': 'script.min.js'
}))
.pipe(gulp.dest('build/'));
});
运行 gulp
一旦你 运行 gulp
,结果 HTML 应该看起来像:
<html>
<head>
<script type="text/javascript" src="script.min.js"></script>
通常的方法是使用类似gulp-processhtml的东西。还有其他人在做同样的事情。
<!-- build:js js/app.min.js -->
<script src="src/js/main.js"></script>
<!-- /build -->
在开发过程中,您使用的是 src/js 版本。在构建步骤中,您 运行 通过 gulp-processhtml 步骤将 link 更改为
<script src="js/app.min.js"></script>
我正在使用一些标准 gulp 流程来缩小我的 html、css 和 javascript。我目前遇到的问题是我正在将我的 JS 连接并丑化到一个干净的 scripts.js 文件中。分发文件夹仍然指向多个JS文件,例如:
<script type="text/javascript" src="mock-data-live.js"></script>
<script type="text/javascript" src="vibrant.min.js></script>
<script type="text/javascript" src="siema.min.js"></script>
<script type="text/javascript" src="script.min.js"></script>
变成
<script type="text/javascript" src="script.min.js"></script>
有没有一种方法可以在缩小时更改 HTML 中的原始路径,使它们都指向一个串联文件?
谢谢
安装gulp-html-replace
为此您需要一个额外的 Gulp 包:gulp-html-replace
。
通过以下方式安装:
npm install --save-dev gulp-html-replace
更改HTML文件内容
在您的 HMTL 文件中(假设其名为 "index.html"),您将使用:
<html>
<head>
<!-- build:js -->
<script type="text/javascript" src="mock-data-live.js"></script>
<script type="text/javascript" src="vibrant.min.js></script>
<script type="text/javascript" src="siema.min.js"></script>
<script type="text/javascript" src="script.min.js"></script>
<!-- endbuild -->
编辑gulpfile.js
将构建规则添加到您的 gulpfile.js:
var gulp = require('gulp');
var htmlreplace = require('gulp-html-replace');
gulp.task('default', function() {
gulp.src('index.html')
.pipe(htmlreplace({
'css': 'styles.min.css',
'js': 'script.min.js'
}))
.pipe(gulp.dest('build/'));
});
运行 gulp
一旦你 运行 gulp
,结果 HTML 应该看起来像:
<html>
<head>
<script type="text/javascript" src="script.min.js"></script>
通常的方法是使用类似gulp-processhtml的东西。还有其他人在做同样的事情。
<!-- build:js js/app.min.js -->
<script src="src/js/main.js"></script>
<!-- /build -->
在开发过程中,您使用的是 src/js 版本。在构建步骤中,您 运行 通过 gulp-processhtml 步骤将 link 更改为
<script src="js/app.min.js"></script>