【问题标题】:Gulp - Cannot find module 'gulp-rename'Gulp - 找不到模块'gulp-rename'
【发布时间】:2017-06-24 16:31:08
【问题描述】:

我尝试设置 Gulp 来编译 SCSS 文件并在此过程中重命名 SCSS 文件 - 例如:

我希望将 SCSS/original.scss 保存为 CSS/new.css

这是在 Windows 10 虚拟机上

我已经安装了 Gulp,安装了 gulp-sass,一切正常

var gulp = require('gulp');
var sass = require('gulp-sass');

gulp.task('compile-new-main', function(){
 return gulp.src('scss/new-main.scss')
  .pipe(sass()) // Using gulp-sass
  .pipe(gulp.dest('css'))
 });

运行上述 gulp 任务工作正常,但是当我尝试安装 gulp-rename 时,任务中断:

var gulp = require('gulp');
var sass = require('gulp-sass');
var rename = require("gulp-rename");

gulp.task('compile-new-main', function(){
 return gulp.src('scss/new-main.scss')
  .pipe(sass()) // Using gulp-sass
  .pipe(rename("styles.css"))
  .pipe(gulp.dest('css'))
 });

我最初尝试使用此命令安装 gulp rename

npm install gulp-rename

就像我对 gulp-sass 所做的一样,它似乎和以前一样工作得很好,显然不是,但我不确定如何或为什么。

我已经做了一些谷歌搜索并尝试在全球范围内安装它,这似乎又可以正常安装

npm install gulp-rename -g

我还看到了一些将 gulp-rename 保存为开发依赖项的建议,所以我尝试了

npm install gulp-rename --save-dev

再次安装没有错误。

当我尝试运行我的 gulp 任务时,这是我收到的错误消息:

错误:找不到模块“gulp-rename” 在 Function.Module._resolveFilename (module.js:469:15) 在 Function.Module._load (module.js:417:25) 在 Module.require (module.js:497:17) 在需要(内部/module.js:20:19) 在对象。 (C:\Projects\增值税专家\gulpfile.js:3:14) 在 Module._compile (module.js:570:32) 在 Object.Module._extensions..js (module.js:579:10) 在 Module.load (module.js:487:32) 在 tryModuleLoad (module.js:446:12) 在 Function.Module._load (module.js:438:3)

我无法理解我在这里做错了什么,我认为我已经在此处添加了所有相关信息 - 非常感谢任何关于我可以尝试这个的指导或建议!

没有

【问题讨论】:

  • 您的node_modules 目录中是否有gulp-rename
  • @Philipp Ahh 不,没有 - 显然它还没有安装......我会再试一次,并尝试找出它没有安装的原因和/或如何获得它安装了...

标签: javascript sass gulp


【解决方案1】:

首先,确保 gulp-rename 在您的 package.json 中的 dependenciesdevDependencies 下列出。然后运行:

npm uninstall -g gulp
npm install -g gulp
rm -rf node_modules
npm install 

然后再检查。

【讨论】:

    【解决方案2】:

    从 cli 安装 gulp-rename 包:

    npm install --save-dev gulp-rename
    

    然后从 node_modules 导入包

    const rename = require("gulp-rename");
    

    编译前使用

    示例:

    const miniCSS = () => {
        return gulp.src('./css/*.css')
        .pipe(rename('style.min.css'))
        .pipe(uglifycss({
            "uglyComments": true
        }))
        .pipe(gulp.dest('./dist/'))
    }
    

    【讨论】:

      【解决方案3】:

      我知道这已经得到解答,但我将其作为 PHP 项目的另一个解决方案发布。

      1. $ npm install gulp-rename 可以正常工作并安装软件包,但仍然出现 Cannot find module 'gulp-rename' 错误。
      2. 如果我从根项目文件夹返回更远的一个目录,我可以在node_modules 中找到该包。无论出于何种原因,我在此目录中都没有 package.json 文件。
      3. 执行$ which gulp-rename 不会显示任何内容,但我知道它已经安装在node_modules 中。

      为了在这些情况下修复它,我做了:

      var rename = require('../node_modules/gulp-rename/index.js');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-26
        • 2017-01-03
        • 1970-01-01
        • 2017-11-07
        • 2018-10-19
        • 1970-01-01
        相关资源
        最近更新 更多