Automation gulp inject没有向index.html注入任何内容

Automation gulp inject没有向index.html注入任何内容,automation,gulp,relative-path,gulp-inject,Automation,Gulp,Relative Path,Gulp Inject,我正在关注这一点 不幸的是,我被第6步卡住了,该步骤介绍了gulp inject的使用 尽管逐字执行了这些步骤,但我在windows Powershell(我在windows计算机上开发)中仍收到以下错误: 它还生成一个HTML文档,其中包含一些未知(至少对我来说)编码字符。以下是index.html中的代码: ��<�!DOCTYPE html> <�html> <�head> &am

我正在关注这一点

不幸的是,我被第6步卡住了,该步骤介绍了gulp inject的使用

尽管逐字执行了这些步骤,但我在windows Powershell(我在windows计算机上开发)中仍收到以下错误:

它还生成一个HTML文档,其中包含一些未知(至少对我来说)编码字符。以下是index.html中的代码:

��<�!DOCTYPE html>

<�html>

  <�head>

    <�!-- src/index.html -->



    <�!-- inject:css -->

    <�!-- endinject -->

  <�/head>

  <�body>

    <�!-- inject:js -->

    <�!-- endinject -->

  <�/body>

<�/html>
我已经调查了这件事,到目前为止,我遇到了其他几个问题,这些问题也产生了“无需注入”的信息,但它们似乎要么是,要么是

我还将提供以下相关代码,以确保:

gulpfile.js

// gulpfile.js
var gulp = require('gulp');
var inject = require('gulp-inject');

var paths = {
  src: 'src/**/*',
  srcHTML: 'src/**/*.html',
  srcCSS: 'src/**/*.css',
  srcJS: 'src/**/*.js',

  tmp: 'tmp',
  tmpIndex: 'tmp/index.html',
  tmpCSS: 'tmp/**/*.css',
  tmpJS: 'tmp/**/*.js',

  dist: 'dist',
  distIndex: 'dist/index.html',
  distCSS: 'dist/**/*.css',
  distJS: 'dist/**/*.js'
};

gulp.task('default', function () {
  console.log('Hello World!');
});

gulp.task('html', function () {
  return gulp.src(paths.srcHTML).pipe(gulp.dest(paths.tmp));
});

gulp.task('css', function () {
  return gulp.src(paths.srcCSS).pipe(gulp.dest(paths.tmp));
});

gulp.task('js', function () {
  return gulp.src(paths.srcJS).pipe(gulp.dest(paths.tmp));
});

gulp.task('copy', ['html', 'css', 'js']);

gulp.task('inject', ['copy'], function () {
  var css = gulp.src(paths.tmpCSS);
  var js = gulp.src(paths.tmpJS);
  return gulp.src(paths.tmpIndex)
    .pipe(inject( css, { relative:true } ))
    .pipe(inject( js, { relative:true } ))
    .pipe(gulp.dest(paths.tmp));
});
来自package.json的相关片段

  "devDependencies": {
    "gulp": "^3.9.1",
    "gulp-debug": "^3.2.0",
    "gulp-header": "^2.0.5",
    "gulp-inject": "^4.3.2",
    "gulp-load-plugins": "^1.5.0"
  },
  "dependencies": {}
index.html(来自src目录)



非常感谢您抽出时间阅读此问题。

我已经找到了解决我问题的方法,希望其他人能对此有所帮助

gulp或其插件从来都不是问题。这是我在Windows 10上使用的Visual Studio代码,它自动检测到我的index.html为UTF-16 BE编码,因此当gulp吐出它时会发生一些事情,因为结果文件的编码会得到奇怪的符号-这都是一个编码问题

只需在VisualStudio代码中指定要以UTF-8格式保存文档,并且所有内容都应该是漂亮的(要做到这一点,请查看编辑器窗口的右下角,您可以在其中“选择编码”)


我准确地使用了您的代码,它工作得非常好。你确定你的路吗?你的.css文件在src/someDirOrNot/someFileName.css中吗?否则我会卸载gulp inject并重新安装它。你好,马克,谢谢你的评论!我已经检查了我的路径,并将它们改为放在一个文件夹中,看看这是否有区别:“/src/css/style.css”和“/src/js/script.js”。但是问题没有改变——gulp inject仍然报告没有任何东西要注入,index.html仍然存在同样的问题。我还卸载了gulp inject并重新安装了它,它没有任何改变。您认为我的windows设置可能有问题吗?我假设mac/linux用户没有遇到这个问题。。。但这只是一个假设。我使用的是Windows10。如果您将两个注入行更改为一个:.pipe(inject(css.concat(js),{relative:true})),恐怕您必须详细说明如何一次注入两行,您粘贴的语法不起作用(是否可以将css连接到js…?我假设您使用的是gulp-concat?)。不幸的是,我找不到任何与您在gulp inject文档中编写的内容相匹配的内容。因此,我做了一些进一步的实验,即尝试让gulp inject工作:我从中获取了基本的使用示例代码,但它仍然没有注入任何内容-产生了与我在上述问题中描述的相同的问题。所以我知道,到目前为止,我没有在项目中添加任何其他内容-我的设置中的gulp inject出现了一些问题。。。
  "devDependencies": {
    "gulp": "^3.9.1",
    "gulp-debug": "^3.2.0",
    "gulp-header": "^2.0.5",
    "gulp-inject": "^4.3.2",
    "gulp-load-plugins": "^1.5.0"
  },
  "dependencies": {}
<!DOCTYPE html>
<html>
  <head>
    <!-- src/index.html -->

    <!-- inject:css -->
    <!-- endinject -->
  </head>
  <body>
    <!-- inject:js -->
    <!-- endinject -->
  </body>
</html>