第一步:下载folwable全部代码,找到前端项目目录,然后他前端代码分离到一个新的文件夹中
// 源码前端目录
D:\code\flowable-engine\modules\flowable-ui\flowable-ui-modeler-frontend\src\main\resources\static\modeler
分离后前端目录
flowable文件夹下目录
第二步:在flowable同级目录下创建gulpfile.js文件,创建config文件夹,文件夹中创建index.js文件;
index文件内容:
module.exports = {
dev: {
// 你的地址
api: ""
},
prod: {
api: '$BPM_MGR_URL',
},
};
gulpfile.js内容
const gulp = require("gulp");
var preprocess = require("gulp-preprocess");
var connect = require("gulp-connect");
// 构建环境变量
const config = require("./config");
const url = process.env.NODE_ENV === "production" ? config.prod : config.dev;
// 修改环境变量
gulp.task("envConfig", function () {
return gulp
.src("./flowable/**/url-config.js")
.pipe(
preprocess({
context: { apiUrl: url.api },
})
)
.pipe(gulp.dest("dist"));
});
// 本地服务器
gulp.task("connectDev", function () {
return connect.server({
name: "test",
root: "dist",
host:'0.0.0.0',
port: "8081",
livereload: true,
});
});
// 处理所有资源
gulp.task("static", function () {
return gulp
.src(["./flowable/**/*"])
.pipe(gulp.dest("dist"))
.pipe(connect.reload());
});
gulp.task("watchStatic", function () {
gulp.watch(
"./flowable/**/*",
{ ignoreInitial: false },
gulp.series("static", "envConfig")
);
});
let build = gulp.parallel("connectDev", "watchStatic");
if (process.env.NODE_ENV === "production") {
build = gulp.series("static", "envConfig");
}
gulp.task("default", build);
第三步:启动服务
手动安装package.json中的插件,运行npm run serve