1.10.0 • Published 3 months ago

@autobest-ui/scripts v1.10.0

Weekly downloads
-
License
ISC
Repository
-
Last release
3 months ago

@autobest-ui/scripts

介绍

集成react项目在webpack下debug、build, 统一命令,方便维护与升级。

安装

npm install @autobest-ui/scripts --save-dev

使用方式

单页面应用(SPA)

  1. 本地 hot debug: react-spa start

  2. build: react-spa build

服务端渲染应用(SSR)

  1. 本地 client hot debug: react-ssr start

  2. 本地 server hot debug: react-ssr server

  3. build: react-ssr build

配置文件

根目录下创建config文件夹

config
   app.config.js // 为命令提供的私有配置
   app.webpack.js // 扩展webpack配置, 非必须选
   env.js        // 项目私有配置(比如: API BaseUrl配置),这个名字可以自定义

app.webpack.js 介绍

该文件用于webpack扩展, 非必写。写法如下:

module.exports = function(
  result,
  appConfig,
  extendEnv,
  { isProd, isServer, isHotServer }
) {
   // 根据条件,对不同环境的配置进行扩展
   ......
   // 最终返回扩展后的结果
   return result;
}

app.config.js 介绍

start 配置参数说明(作用于react-spa start 或者 react-ssr start)
参数名默认值说明
startDefaultPort3030start默认端口号, 可自定义,下面介绍
startOpenPath'/'start 打开浏览器的路径
getStartEnvConfig{}start 自定义环境变量的方法,会追加到process.env中
devServer{}start 自定义devServer配置
hot ssr 配置参数说明(作用于react-ssr ssr)
参数名默认值说明
hotSsrDefaultPort9090hot ssr默认端口号, 可自定义,下面介绍
hotSsrOpenPath'/'hot ssr 打开浏览器的路径
hotSsrRunPath'server/app.ts'hot ssr 执行nodejs 入口文件路径
hotSsrWatch'devPublic', 'devBuild', 'server'hot ssr 需要watch的文件夹,类型: Array
getHotSsrEnvConfig{}hot ssr 自定义环境变量的方法,会追加到process.env中
build ssr 配置参数说明(作用于react-ssr build)
参数名默认值说明
getBuildEnvConfig{}build ssr 自定义环境变量的方法,会追加到process.env中
buildClientLoadableConfig.filename'loadable-stats.json'build ssr 自定义按需加载路径存储库文件名
buildClientLoadableConfig.writeToDiskFilename'/build'build ssr 自定义按需加载路径存储库文件存放位置
公共配置
参数名默认值说明
htmlPluginTemplate'/index.html'client端,模板html路径
htmlPluginFaviconundefinedclient端,favicon.ico路径,也可以通过nginx配置
baseStaticMediaPathstatic静态资源图片等基础文件夹
baseStaticCssPathcss静态资源css基础文件夹
baseStaticJsPathjs静态资源js基础文件夹

自定义

系统支持的运行参数

参数名默认值说明
--port 3031startDefaultPort值覆盖默认端口号 react-spa start --port 3031
--eslintfalse运行时是否启动语法检查 react-spa start --eslintbuild情况下该参数失效,不执行语法检查

自定义其他参数

例如:

  • react-spa start --site APW
  • react-ssr start --port 3032 --site APW

该参数将解析成对象,通过get**EnvConfig()参数传递,此方式,可区分自定义的环境变量,例如:www2.0项目中site的区分。

自定义环境变量

该方式,主要应用于启动程序前,自定义环境变量,主要用于get**EnvConfig()方法的多样性。

例如: cross-env REACT_APP_ENV=local react-ssr start

背景图片问题

推荐把静态资源放到静态库,并使用sass环境变量$env进行本地调试,若想使用本地文件,需特殊处理。

  • scss环境变量
// 其中 $env = process.env.NODE_ENV, 满足background-image链接不全、区分本地与线上样式等需求。
if($env == 'development','为true的样式', ‘为false的样式’)
// 例子
$AssetBaseUrl: 'https://assets-web.dev.autobestdevops.com';
$AssetCommonPath: '/common-uiasset';
$AssetWwwPath: '/www-uiasset';

@mixin getBgImgFromCommon($url) {
  background-image: if($env == 'development', url($AssetBaseUrl + $AssetCommonPath + $url), url($AssetCommonPath + $url));
}

@mixin getBgImgFromWww($url) {
  background-image: if($env == 'development', url($AssetBaseUrl + $AssetWwwPath + $url), url($AssetWwwPath + $url));
}
  • 使用本地文件注意事项
// background image 不解析以"http、https"开头或者/common-uiasset/|/wwwasset/|/onlineasset/开头的静态资源, 例如:'/common-uiasset/img.png'
// 所以本地静态资源需要特别注意,不能创建/common-uiasset/|/wwwasset/|/onlineasset/文件夹
.live-chat {
  background: url('imgs/图片名.resolving.png') 0 center no-repeat;
}
1.10.0

3 months ago

1.9.4

5 months ago

1.9.4-y.1

7 months ago

1.9.4-y.0

8 months ago

1.9.3-alpha.0

8 months ago

1.9.1

8 months ago

1.9.4-alpha.0

8 months ago

1.9.2-alpha.0

8 months ago

1.9.1-alpha.0

1 year ago

1.9.1-alpha.1

1 year ago

1.9.1-alpha.2

1 year ago

1.9.1-alpha.3

1 year ago

1.9.1-alpha.4

1 year ago

1.9.1-alpha.5

1 year ago

1.9.0

1 year ago

1.8.2

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.8.2-alpha.1

1 year ago

1.8.2-alpha.0

1 year ago

1.8.2-alpha.2

1 year ago

1.7.0

1 year ago

1.6.1

1 year ago

1.6.0

2 years ago

1.5.9-alpha.1

2 years ago

1.5.9-y.1

2 years ago

1.5.9-y.0

2 years ago

1.5.8-alpha.0

2 years ago

1.5.9-alpha.0

2 years ago

1.5.6-alpha.0

2 years ago

1.5.7

2 years ago

1.5.6

2 years ago

1.5.4-alpha.0

2 years ago

1.5.5

2 years ago

1.5.4

2 years ago

1.5.3-alpha.0

2 years ago

1.5.2

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.1

2 years ago

1.3.2

2 years ago

1.4.0

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.5.0-alpha.0

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.0.2

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.1.2

2 years ago

1.0.3

2 years ago

0.1.0

2 years ago

0.1.1

2 years ago

0.1.3

2 years ago

0.0.6

2 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.1

3 years ago