繁体   English   中英

Gulp - 找不到模块“gulp-rename”

[英]Gulp - Cannot find module 'gulp-rename'

我试图设置 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 任务时,这是我收到的错误消息:

错误:在 Function.Module._resolveFilename (module.js:469:15) 在 Function.Module._load (module.js:417:25) 在 Module.require (module.js:497) 找不到模块 'gulp-rename' :17) 在要求 (internal/module.js:20:19) 在对象。 (C:\Projects\VAT-Expert\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)

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

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

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

然后再次检查。

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

我知道这已经得到解答,但我将其发布为 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');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM