Gulp - 找不到模块&gulp-rename'

时间:2017-02-07 12:16:33

标签: javascript sass gulp

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

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

这是在Windows 10 VM上

我已经安装了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)       at require(internal / module.js:20:19)       在对象。 (C:\项目\ VAT-专家\ 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)

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

<磷>氮

3 个答案:

答案 0 :(得分:15)

首先,确保在package.jsondependencies下的devDependencies中列出了gulp-rename。然后运行:

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

然后再检查一下。

答案 1 :(得分:3)

从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/'))
}

答案 2 :(得分:0)

我知道这已经得到了回答,但我将此作为 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');