UNPKG

1.88 kBMarkdownView Raw
1# LegoFlow-Engine v3
2
3## 安装
4
5```sh
6$ yarn add legoflow-engine --dev
7
8# or
9
10$ npm install legoflow-engine --save-dev
11```
12
13## 使用
14
15```sh
16# 开发
17$ lf-engine dev
18
19# 构建
20$ lf-engine build
21
22# 构建 [dll](https://webpack.docschina.org/plugins/dll-plugin/)
23$ lf-engine dll -m <modules> -o <filename>
24# 例子
25$ lf-engine dll -m vue,vue-router,vuex -o vendor
26
27# 参数
28# 构建 base64图片默认阀值为 1kb,修改最大阀值(kb)
29$ lf-engine build --base64ImageMaxSize=10
30```
31
32## 环境
33
34```js
35console.log(process.env.MODE)
36// 开发 development
37// 生产 production
38```
39
40## 扩展 Webpack 配置
41
42若项目下存在 `legoflow.js` 文件,自动被加入作为 Webpack 配置的后置处理脚本,基本使用方式如下
43
44```js
45/**
46 * legoflow.js 暴露方法
47 *
48 * 参数 [mode]
49 * 可作为判断工作流处于 "development" 或 "production"
50 *
51 * 参数 [webpackConfig]
52 * 1. 基于 webpack-chain 的 webpack 配置对象,修改该对象配置即可同步到工作流的 webpack 配置
53 * 2. 若不习惯使用 webpack-chain 的配置方式,可通过 webpackConfig = webpackConfig.toConfig() 方式
54 * 转换为熟悉的 JSON 配置,注意这个方式需要在函数内 retrun { webpackConfig }
55 *
56 * 参数 [webpackDevServerConfig]
57 * webpack-dev-server 开发服务器配置,修改该参数需要在函数内 retrun { webpackDevServerConfig }
58 * 构建阶段该对象为 undefined
59 */
60module.exports = async ({ mode, webpackConfig, webpackDevServerConfig }) => {
61 // ...
62}
63```
64
65## 插件化
66
67当项目的 devDependencies 中含有 `legoflow-plugin-` NPM 模块时,engine 自动把该模块加入到工作流中。
68
69可以把一些常用的 webpack 配置作为插件发布到 NPM 仓库(如 [legoflow-plugin-yypkg](https://github.com/legox/legoflow/tree/dev/packages/legoflow-plugin-yypkg))提供给项目使用。
70
71
72## LICENSE
73
74[MIT](./LICENSE)