【问题标题】:Gulp Script [Gulp Watch] - Cannot find module 'browser-sync'Gulp 脚本 [Gulp Watch] - 找不到模块“浏览器同步”
【发布时间】:2017-12-25 18:32:00
【问题描述】:

所以我知道这个错误还有其他实例,但无论我尝试过什么其他方式,我都会继续收到这个错误

 throw err;
^

Error: Cannot find module 'browser-sync'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\shiha\Desktop\coding\html\myWebsite\gulpfile.js:3:19)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)

我已尝试清理缓存并重新调用 npm install 以及 npm i broswer-sync --save。没有什么变化。

这是我的 gulp 脚本的副本,但我不认为我做错了什么。

var gulp = require('gulp');
var sass = require('gulp-sass');
var browserSync = require('browser-sync');

gulp.task('browserSync', function() {
  browserSync.init({
    server: {
      baseDir: 'app'
    },
  })
})

gulp.task('sass', function() {
  return gulp.src('app/scss/**/*.scss')
    .pipe(sass())
    .pipe(gulp.dest('app/css'))
    .pipe(browserSync.reload({
      stream: true
    }))
});

gulp.task('watch', ['browserSync', 'sass'], function (){
  gulp.watch('app/scss/**/*.scss', ['sass']);
  // Reloads the browser whenever HTML or JS files change
  gulp.watch('app/*.html', browserSync.reload);
  gulp.watch('app/js/**/*.js', browserSync.reload);
});

我在 Windows 机器上 npm -v = 5.6 节点-v = 7.4

提前谢谢我只是卡住了。 这也是我的 json 的副本,因为起初我以为我错过了这个包,但我已经安装了它。当我回忆起 npm install 时,我只是得到“最新”

  "devDependencies": {
   "browser-sync": "^2.21.0",
    "gulp": "^3.9.1",
    "gulp-sass": "^3.1.0"
  }
}

【问题讨论】:

    标签: javascript node.js gulp browser-sync gulp-watch


    【解决方案1】:

    这个包好像没了,直接npm install吧。

    npm install browser-sync --save

    【讨论】:

    • 我正要编辑我的问题以添加到我的 json 中,但我已经安装了它。
    • 我现在收到一个 npm 错误,上面写着“npm ERR!404 Not Found: broswer-sync@latest”
    • 现在运行这个 npm install browser-sync gulp --save-dev
    • 这样做会将它添加回 json 上的 devDependencies 所以我去运行“gulp watch”,但这只会带回我帖子中看到的原始错误。
    • 运行 npm 缓存清理
    【解决方案2】:

    我无法完全确认这是 Windows 问题,但我发现解决此问题的一种迂回方法是使用 Windows bash 终端而不是 cmd 或 PowerShell。这样做只需调用

    npm install
    

    现在应该安装所有必要的包,但对于 Linux 环境。现在,如果您在 cmd 中调用 gulp 脚本,它将无法工作,但如果您在 windows bash 终端中这样做,它会。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-10
      • 2015-04-15
      • 2017-10-31
      • 1970-01-01
      • 2014-09-28
      • 1970-01-01
      • 2015-01-28
      相关资源
      最近更新 更多