如何使用gulp捆绑器解决依赖关系

时间:2018-10-25 18:03:06

标签: node.js gulp bundle babeljs

我是gulp bunler的新手。

我创建了第一个捆绑脚本:

var gulp = require('gulp');
var concat = require('gulp-concat');
const babel = require('gulp-babel');
var resolveDependencies = require('gulp-resolve-dependencies');
var sourcemaps = require('gulp-sourcemaps');
const javascriptObfuscator = require('gulp-javascript-obfuscator');

gulp.task('js', function () {
    return gulp.src('src/**/*.js')
        .pipe(sourcemaps.init())
        .pipe(babel({
            "comments": false, 
                [
                    "@babel/preset-env",
                    {
                        "targets": {
                            "browsers": [
                                "last 2 versions"
                            ]
                        },
                        "debug": true
                    }
                ]
            ],
            "plugins": [
                [
                    "module-resolver",
                    {
                        "root": [
                            "./src"
                        ],
                        "alias": {
                            "test": "./test",
                            "underscore": "lodash"
                        }
                    }
                ],
                "@babel/transform-runtime"
            ]
        }))
        .pipe(resolveDependencies({
            pattern: /\* @require [\s-]*(.*?\.js)/g,
            log: true
          })) 
        .pipe(concat('app.min.js'))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('.'))
});

gulp.task('default', ['js']);

我的项目包含很多分离的文件(模块)。

运行gulp捆绑包时,所有代码都放入一个文件中-很好。

但是导入的模块仍旧路径:

var _loggerTypeConst = require("./logger/logger-type-const");

如果所有内容都是一个“单一文件”,则没有记录器文件夹。

我不知道它是如何工作的...

0 个答案:

没有答案