Javascript Gulp创建dist文件夹,但不';t生成文件(无错误)

Javascript Gulp创建dist文件夹,但不';t生成文件(无错误),javascript,node.js,sass,gulp,ejs,Javascript,Node.js,Sass,Gulp,Ejs,我不熟悉node、ejs和gulp,我的项目结构如下: public css style.scss js images views components navbar.ejs index.ejs gulpfile.js server.js 我试过这个gulpfile.js: const { src, dest, watch, series, parallel } = require('gulp'); const sourcemaps = re

我不熟悉node、ejs和gulp,我的项目结构如下:

public
   css
     style.scss
   js
   images
views
   components
     navbar.ejs
   index.ejs
gulpfile.js
server.js
我试过这个gulpfile.js:

const { src, dest, watch, series, parallel } = require('gulp');

const sourcemaps = require('gulp-sourcemaps');
var ejs = require("gulp-ejs");
const sass = require('gulp-sass');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const postcss = require('gulp-postcss');
const autoprefixer = require('autoprefixer');
const cssnano = require('cssnano');
var replace = require('gulp-replace');


// File paths
const files = {
    scssPath: 'puclic/css/**/*.scss',
    jsPath: 'public/js/**/*.js',
    ejsPath: 'views/*.ejs'
}


function scssTask() {
    return src(files.scssPath)
        .pipe(sourcemaps.init()) // initialize sourcemaps first
        .pipe(sass()) // compile SCSS to CSS
        .pipe(postcss([autoprefixer(), cssnano()])) // PostCSS plugins
        .pipe(sourcemaps.write('.')) // write sourcemaps file in current directory
        .pipe(dest('dist')); // put final CSS in dist folder
}


function jsTask() {
    return src([
            files.jsPath
            //,'!' + 'includes/js/jquery.min.js', // to exclude any specific files
        ])
        .pipe(concat('all.js'))
        .pipe(uglify())
        .pipe(dest('dist'));
}

function ejsTask() {
    return src(files.ejsPath)
    .pipe(ejs({}, {ext: '.html'}))
    .pipe(dest('dist'))
}


function watchTask() {
    watch([files.scssPath, files.jsPath, files.ejsPath],
        parallel(scssTask, jsTask, ejsTask));
}


exports.default = series(
    parallel(scssTask, jsTask, ejsTask),
    watchTask
);
我想用'index.html'而不是'index.ejs','style.css'而不是'style.scss'和一个缩小的js来生成dist文件夹

当我运行gulp时,它开始并完成任务,并开始观看。创建了一个dist文件夹,但在其中我只得到一个index.ejs文件,其他什么都没有

Gulp没有显示任何错误

节点v10.14; npm v6.7; gulpcliv2.2;吞咽本地v4.0


正如我在你的帖子上评论的那样,这不起作用的原因是因为你的scssPath中有一个输入错误

改变
scssPath:'puclic/css/***.scss',
scssPath:'public/css/***.scss',


将解决此错误。

正如我在您的帖子中所评论的,此操作不起作用的原因是您的scssPath中有一个输入错误

改变
scssPath:'puclic/css/***.scss',
scssPath:'public/css/***.scss',


将解决错误。

对于您的
.ejs
问题,您误用了它的选项(假设您使用的是v4的gulp ejs)。你有

.pipe(ejs({}, {ext: '.html'}))
但请看:

从版本4开始,第三个api参数设置被删除。你可以 不再提供扩展。这是因为它不符合标准 gulp ejs的范围。因此,如果您需要使用不同的 扩展名可以使用gulp重命名

下面是扩展名为.ejs的模板文件的示例 呈现为.html文件:


对于
.ejs
问题,您误用了它的选项(假设您使用的是v4的gulpejs)。你有

.pipe(ejs({}, {ext: '.html'}))
但请看:

从版本4开始,第三个api参数设置被删除。你可以 不再提供扩展。这是因为它不符合标准 gulp ejs的范围。因此,如果您需要使用不同的 扩展名可以使用gulp重命名

下面是扩展名为.ejs的模板文件的示例 呈现为.html文件:


首先,在
scssPath中确实有一个输入错误:'puclic/css/***.scss',
哦,天哪,它能工作!现在只需要.ejs到.html。非常感谢您,您在
scssPath中确实有一个输入错误:'puclic/css/***.scss',
哦,天哪,它能工作!现在只需要.ejs到.html。非常感谢。