1.4.8 • Published 2 months ago

joyer-cli v1.4.8

Weekly downloads
50
License
MIT
Repository
-
Last release
2 months ago

集成开发环境 joyer-cli

遇到问题怎么办

Node版本

  • 统一使用较新的LTS版本,推荐 v16.20.2 (LTS)(2023-08-10), 安装方式nvm

  • 统一使用npm作为包管理工具,不使用yarn

    • 原因:npm从5.x版本以后已经加入yarn的大部分特性,包括package-lock.json、默认--save、cache重写带来的安装速度提升(不输yarn)等,详见
    • 交叉使用npm和yarn会产生功能类似的重复文件及一些未知风险,使用比例

使用文档

安装joyer-cli

  • npm install joyer-cli -g

使用joyer-cli

重要依赖及选择原因

  • webpack@4.43.0

    • 目前为最新的稳定版本,相比3.x编译速度提升了近2倍,更好的代码分离机制,更多的模块类型支持,详见
    • 使用其node api模式而非cli模式,目的在于有利于开发环境同时并存多个webpack版本,缺点是每个文件目录会比较大
    • 疑问点,目前大部分项目应该是在3.x版本下构建,迁移成本?
  • webpack-dev-server@3.11.0

    • 目前最新的稳定版本,适配webpack@4.x,v3.1.2之前的版本存在proxy的bug

  • @babel/preset-env@7.7.7

    • 完美解决了babel-polifyll的问题,无需全量打包
  • @babel/core@7.7.7

    • 适配@babel/preset-env@7.7.7

问题记录

  • joyer install <template> 原计划到source.jd.com上面专门开一个repo用来存放和维护今后要用到的模板,但由于访问需要登录,故放弃

    • 替代方案:在joyer-cli项目中内置template目录,用于存放模板。缺点:可拓展性差,需要发版才能更新模板,耦合性较强。
    • 后续考虑:可否把模板放到类似github的开源平台进行维护?
    • 结论:在git.jd.com平台建立group作为模板仓库(joyer-template)和组件仓库(vue-components/zepto-components),通过gitlab api来抽取模板和组件
    • 缺点:需要把自己的private token绑定到环境变量JOYER_GIT_TOKEN,这已经是目前能想到的最小成本的方案了,后续待讨论...
    • 更新:绑定了个人的具有时效的access_token,这样就无需使用者再绑定了 @2018-12-19
  • 考虑实现类似joyer upgrade来更新组件库?

    • 开始考虑实现类似joyer-template的方式进行组件安装及更新,但维护成本较高且可能会有版本依赖问题
    • 结论:和军哥讨论后决定使用模板集成组件的方式来维护组件库,把组件库内置到模版中指定的目录,通过joyer install命令来重新安装组件库
  • 考虑替代通过检测process.env的方式来区分域名及环境,原因reading-environment-variables-is-slow-operation

    • 结论:joyer模板中joyer-config新增字段env,然后脚手架通过DefinePlugin设置编译时变量
  • 抽离公共css的过程中发现了问题:optimization.splitChunks.cacheGroups.{cacheGroups}.enforce: true会产生一个空的js文件,目前还没有官方解决方案

  • 然后抽离css过程中发现新问题,在scss中使用@import引入的common.scss不会被抽离

    • 解决方案:编译完成后,将所有文件中引入的common.scss中的内容匹配并移除
  • html-webpack-plugin和html-loader同时使用,会使html-webpack-plugin注入html变量失效

    • 实现基于joyer-config的变量系统,在配置文件中添加env字段用来放置编译相关的变量
    • 困难:webpack.DefinePlugin不能在html文件中定义变量
    • 解决方案:实现webpack plugin用于替换html中指定字符
  • open-browser-webpack-plugin在windows子系统linux(Bash on Windows)中存在问题,不能打开浏览器

    • 使用兼容性更好的opn代替
  • 单页面应用使用history模式时,想利用HtmlWebpackPlugin输出多个index.html文件到各个路由目录,发现它不支持相对路径,导致路由目录下的index.html文件资源引用出错

    • 目前已经合并代码但仍未发布
    • 解决方案:webpack-plugins/fix-html-webpack-plugin-relative-path.js 自行解决
1.4.9-rc.3

2 months ago

1.4.9-rc.1

4 months ago

1.4.9-rc.0

5 months ago

1.4.9-rc.2

4 months ago

1.4.8

6 months ago

1.4.8-rc.64

7 months ago

1.4.8-rc.63

7 months ago

1.4.8-rc.62

7 months ago

1.4.8-rc.61

7 months ago

1.4.8-rc.60

7 months ago

1.4.8-rc.59

10 months ago

1.4.8-rc.58

10 months ago

1.4.8-rc.57

10 months ago

1.4.8-rc.56

11 months ago

1.4.8-rc.55

11 months ago

1.4.8-rc.54

11 months ago

1.4.8-rc.53

11 months ago

1.4.8-rc.52

11 months ago

1.4.8-rc.51

11 months ago

1.4.8-rc.49

12 months ago

1.4.8-rc.48

12 months ago

1.4.8-rc.47

12 months ago

1.4.8-rc.46

12 months ago

1.4.8-rc.45

1 year ago

1.4.8-rc.44

1 year ago

1.4.8-rc.50

11 months ago

1.4.8-rc.42

1 year ago

1.4.8-rc.43

1 year ago

1.4.8-rc.39

1 year ago

1.4.8-rc.41

1 year ago

1.4.8-rc.40

1 year ago

1.4.8-rc.31

1 year ago

1.4.8-rc.38

1 year ago

1.4.8-rc.37

1 year ago

1.4.8-rc.36

1 year ago

1.4.8-rc.35

1 year ago

1.4.8-rc.34

1 year ago

1.4.8-rc.33

1 year ago

1.4.8-rc.32

1 year ago

1.4.8-rc.29

2 years ago

1.4.8-rc.28

2 years ago

1.4.8-rc.27

2 years ago

1.4.8-rc.30

2 years ago

1.4.8-rc.26

2 years ago

1.4.8-rc.25

2 years ago

1.4.8-rc.24

2 years ago

1.4.8-rc.23

2 years ago

1.4.8-rc.22

2 years ago

1.4.8-rc.20

2 years ago

1.4.8-rc.9

2 years ago

1.4.8-rc.3

2 years ago

1.4.8-rc.4

2 years ago

1.4.8-rc.1

2 years ago

1.4.8-rc.2

2 years ago

1.4.8-rc.7

2 years ago

1.4.8-rc.8

2 years ago

1.4.8-rc.5

2 years ago

1.4.8-rc.6

2 years ago

1.4.8-rc.21

2 years ago

1.4.7-rc.1

2 years ago

1.4.7-rc.0

2 years ago

1.4.8-rc.0

2 years ago

1.4.8-rc.19

2 years ago

1.4.8-rc.18

2 years ago

1.4.7

2 years ago

1.4.8-rc.17

2 years ago

1.4.8-rc.16

2 years ago

1.4.8-rc.15

2 years ago

1.4.8-rc.14

2 years ago

1.4.8-rc.13

2 years ago

1.4.8-rc.12

2 years ago

1.4.8-rc.11

2 years ago

1.4.8-rc.10

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2-rc.2

2 years ago

1.4.2-rc.1

2 years ago

1.4.2-rc.0

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

3 years ago

1.4.1-rc.0

3 years ago

1.4.1-rc.1

2 years ago

1.4.0-rc.0

3 years ago

1.4.0-rc.1

3 years ago

1.3.6

3 years ago

1.3.5

3 years ago

1.3.4-rc.10

3 years ago

1.3.4

3 years ago

1.3.4-rc.9

3 years ago

1.3.4-rc.8

3 years ago

1.3.4-rc.7

3 years ago

1.3.4-rc.6

3 years ago

1.3.4-rc.5

3 years ago

1.3.4-rc.4

3 years ago

1.3.4-rc.3

3 years ago

1.3.4-rc.2

3 years ago

1.3.4-rc.1

3 years ago

1.3.4-rc.0

3 years ago

1.3.3

3 years ago

1.3.3-rc.3

3 years ago

1.3.3-rc.4

3 years ago

1.3.3-rc.2

3 years ago

1.3.3-rc.0

3 years ago

1.3.3-rc.1

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0-rc.20

3 years ago

1.3.0

3 years ago

1.3.0-rc.19

3 years ago

1.3.0-rc.16

3 years ago

1.3.0-rc.18

3 years ago

1.3.0-rc.17

3 years ago

1.3.0-rc.15

3 years ago

1.3.0-rc.14

3 years ago

1.3.0-rc.12

3 years ago

1.3.0-rc.13

3 years ago

1.3.0-rc.11

3 years ago

1.3.0-rc.8

3 years ago

1.3.0-rc.9

3 years ago

1.3.0-rc.7

3 years ago

1.3.0-rc.10

3 years ago

1.3.0-rc.6

3 years ago

1.3.0-rc.3

4 years ago

1.3.0-rc.4

4 years ago

1.3.0-rc.5

4 years ago

1.3.0-rc.2

4 years ago

1.3.0-rc.1

4 years ago

1.2.3

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.2.0-rc.3

4 years ago

1.2.0-rc.2

4 years ago

1.2.0-rc.1

4 years ago

1.2.0-rc.0

4 years ago

1.1.10

5 years ago

1.1.10-rc.0

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.8-rc.0

5 years ago

1.1.7

5 years ago

1.1.7-rc.0

5 years ago

1.1.6

5 years ago

1.1.6-rc.3

6 years ago

1.1.6-rc.2

6 years ago

1.1.6-rc.1

6 years ago

1.1.6-rc.0

6 years ago

1.1.5

6 years ago

1.1.5-rc.1

6 years ago

1.1.5-rc.0

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.23

6 years ago

1.0.22

6 years ago

1.0.21

6 years ago

1.0.20

6 years ago

1.0.19

6 years ago

1.0.18

6 years ago

1.0.17

6 years ago

1.0.16

6 years ago

1.0.15

6 years ago

1.0.14

6 years ago

1.0.13

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago