Lud*_*udo 5 performance build webpack vue.js lerna
我刚刚加入了一个基于 Lerna 代码架构的新 VueJS/Webpack:
package.json
lerna.json
packages/
modules/
plugins/
Run Code Online (Sandbox Code Playgroud)
大约应用程序的每一页都被设置为一个单独的模块,我觉得这很奇怪,虽然不是专家,但我不确定这是设置 Lerna 架构的正确方法。
尽管如此, package.json 定义了以下内容:
"scripts": {
"bootstrap": "npm install && npm run lerna && npm run app-build",
"lerna": "lerna bootstrap --hoist --nohoist=axios --nohoist=vue-chartist --nohoist=chardist",
"publish": "lerna publish",
"clean": "lerna clean",
"test": "lerna run test --parallel",
"start": "lerna run start --stream --scope=main-module",
"app-build": "lerna run build --stream --scope=main-module",
"doc": "good-doc"}
Run Code Online (Sandbox Code Playgroud)
和应用程序,虽然中等大小我会说:
构建总是很慢(+30 分钟)。在每次构建时。构建是这样执行的:
cross-env BACK_URL=back_url npm run bootstrap --hoist
Run Code Online (Sandbox Code Playgroud)
有什么好的做法可以更快地构建吗?关于我的项目中可能设置错误的任何想法?或者这只是正常的...
我从 --hoist 转向使用纱线工作区(https://yarnpkg.com/blog/2017/08/02/introducing-workspaces/)。
我的问题不在于性能,而在于是否可以使用 nohoist 选项(https://yarnpkg.com/blog/2018/02/15/nohoist/)。由于一些反应脚本依赖性,我在一个非常简单的设置中遇到了一些错误,所以我需要从提升中排除模块。
这是我的基本配置:
--> lerna.json
{
"version": "0.0.0",
"packages": [
"packages/*",
],
"npmClient": "yarn",
"useWorkspaces": true
}
---> package.json
{
"name": "root",
"private": true,
"workspaces": {
"packages": ["packages/*""],
"nohoist": ["**/babel-jest", "**/eslint", "**/jest"]
},
"devDependencies": {
"lerna": "^3.4.3"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2858 次 |
| 最近记录: |