lerna构建非常缓慢,始终(+30分钟)

时间:2018-10-18 14:15:47

标签: performance vue.js webpack build lerna

我刚刚加入了基于Lerna代码架构的新VueJS / Webpack:

package.json
lerna.json
packages/
modules/
plugins/

大约每个应用程序页面都被设置为一个单独的模块,我觉得很奇怪,尽管不是专家,但我不确定这是设置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"}

还有该应用程序,尽管大小适中,我会说:

Size of the application with node_modules

构建总是很慢(+30分钟)。在每个版本。构建是这样执行的:

cross-env BACK_URL=back_url npm run bootstrap --hoist

有没有很好的习惯来加快构建速度?关于我的项目中可能设置错误的任何想法?或者也许这很正常...

非常感谢,

最好

Ludovic

2 个答案:

答案 0 :(得分:0)

我从--hoist转到使用纱线工作区(https://yarnpkg.com/blog/2017/08/02/introducing-workspaces/)。

我的问题不在于性能,而在于能否使用nohoist选项(https://yarnpkg.com/blog/2018/02/15/nohoist/)。由于某些react-scripts依赖性,我在一个非常简单的设置中出现了一些错误,因此我需要从提升中排除模块。

这是我的基本配置:

--> 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"
  }
}

答案 1 :(得分:0)

构建速度慢是由于我的计算机+许多文件要一起构建。我们已经实现了lerna,因为应用程序的每个页面都是一个单独的程序包,这并不是lerna真正的目的。

我们从基础架构中删除了lerna,现在情况更好了。