我是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");
如果所有内容都是一个“单一文件”,则没有记录器文件夹。
我不知道它是如何工作的...