問題原先是要動態對
cshtml
文件進行插入JavaScript代碼,而正好這個cshtml
文件有中文,因此才發現原來默認 Gulp 在保存UTF-8文件是採用無BOM,倒置全部的文檔裏的中文全都成了亂碼。html維基百科:npm
Unicode標準容許使用UTF-8的BOM,但不要求也不推薦使用。字節順序在UTF-8中沒有意義。gulp
Gulp剝離BOM,由於它沒用。這是爲了須要它的幾個愚蠢的工具。除非你真的須要,不然不要使用它。windows
固然知道緣由,那麼也就很簡單,先安裝 Gulp-bom。app
//安裝相應的包 $ npm install --save-dev gulp-bom //具體用法 var gulp = require('gulp'); var bom = require('gulp-bom'); gulp.task('default', function () { return gulp.src('app.js') .pipe(bom()) //必定要在輸出前引入該包 .pipe(gulp.dest('dist')); });至此問題解決:工具
附上原文連接:https://www.npmjs.com/package/gulp-bompost