首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要使用JavaScript的另一个Gulp.js文件的主文件的简单连接

需要使用JavaScript的另一个Gulp.js文件的主文件的简单连接
EN

Stack Overflow用户
提问于 2018-09-14 19:32:35
回答 1查看 829关注 0票数 1

我有一个简单的文件:

文件main.js

代码语言:javascript
复制
'use strict';
const somefile = require('somefile')

// class MyClass ...
// some js

我想使用Gulp.js创建一个小型化的文件,其中也包含了来自somefile.js的代码。但出于某种原因,我找不到办法做到这一点。在我缩小的文件中,我有require('somefile'),,而不是完整的代码。

文件gulpfile.js

代码语言:javascript
复制
const gulp = require('gulp');
const minify = require('gulp-minify');
const babel = require('gulp-babel');
const include = require("gulp-include");
const sourcemaps = require('gulp-sourcemaps');
const jsImport = require('gulp-js-import');
const resolveDependencies = require('gulp-resolve-dependencies');

gulp.task('default', () =>
    gulp.src('src/main.js')
        .pipe(sourcemaps.init())
        .pipe(resolveDependencies({
          pattern: /\* @requires [\s-]*(.*\.js)/g
        }))
        .pipe(jsImport({hideConsole: true}))
        .pipe(babel({
            presets: ['@babel/env']
        }))
        .pipe(minify({
            ext: {
                min: '.min.js'
            }
        }))
        .pipe(gulp.dest('dist'))
);

我也试过和一饮而尽,

我遗漏了一些东西,但不确定是什么。我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-09-14 20:33:02

在resolveDependencies管道中,您复制了默认的regex模式,吞咽-解析-依赖将使用该模式查找代码中的任何require语句。但是您的require看起来与文档示例非常不同。你的:

代码语言:javascript
复制
const somefile = require('somefile')

因此,尝试以下模式:pattern: /\.*require\s*\('(.*)'\)/g

这将捕获括号内的文件(然后自动传递给路径解析器函数)。然后把这些文件连接起来。

代码语言:javascript
复制
const gulp = require('gulp');
const minify = require('gulp-minify');
const babel = require('gulp-babel');

// const include = require("gulp-include");  you don't need this

const sourcemaps = require('gulp-sourcemaps');

// const jsImport = require('gulp-js-import');  you don't need this

const resolveDependencies = require('gulp-resolve-dependencies');
const concat = require('gulp-concat');

gulp.task('default', () =>
    gulp.src('src/main.js')
        .pipe(sourcemaps.init())
        .pipe(resolveDependencies({
          pattern: /.*require\s*\('(.*)'\)/g
        }))

         // added the following:
        .pipe(concat('a filename here'))

        .pipe(babel({
            presets: ['@babel/env']
        }))
        .pipe(minify({
            ext: {
                min: '.min.js'
            }
        }))

         // added the following:
        .pipe(sourcemaps.write('some destination folder for the soucemaps'))

        .pipe(gulp.dest('dist'))
);

我还不能测试这个,但它应该会有帮助的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52338233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档