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
|
35 | console.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 | */
|
60 | module.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)
|