@autobest-ui/scripts 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -118,3 +118,33 @@ module.exports = function(
118
118
  该方式,主要应用于启动程序前,自定义环境变量,主要用于get**EnvConfig()方法的多样性。
119
119
 
120
120
  例如: `cross-env REACT_APP_ENV=local react-ssr start`
121
+
122
+ #### 背景图片问题
123
+ 推荐把静态资源放到静态库,并使用sass环境变量`$env`进行本地调试,若想使用本地文件,需特殊处理。
124
+
125
+ - scss环境变量
126
+ ```scss
127
+ // 其中 $env = process.env.NODE_ENV, 满足background-image链接不全、区分本地与线上样式等需求。
128
+ if($env == 'development','为true的样式', ‘为false的样式’)
129
+ // 例子
130
+ $AssetBaseUrl: 'https://assets-web.dev.autobestdevops.com';
131
+ $AssetCommonPath: '/common-uiasset';
132
+ $AssetWwwPath: '/www-uiasset';
133
+
134
+ @mixin getBgImgFromCommon($url) {
135
+ background-image: if($env == 'development', url($AssetBaseUrl + $AssetCommonPath + $url), url($AssetCommonPath + $url));
136
+ }
137
+
138
+ @mixin getBgImgFromWww($url) {
139
+ background-image: if($env == 'development', url($AssetBaseUrl + $AssetWwwPath + $url), url($AssetWwwPath + $url));
140
+ }
141
+ ```
142
+
143
+ - 使用本地文件注意事项
144
+ ```scss
145
+ // background image 不解析以"http、https"开头或者/common-uiasset/|/wwwasset/|/onlineasset/开头的静态资源, 例如:'/common-uiasset/img.png'
146
+ // 所以本地静态资源需要特别注意,不能创建/common-uiasset/|/wwwasset/|/onlineasset/文件夹
147
+ .live-chat {
148
+ background: url('imgs/图片名.resolving.png') 0 center no-repeat;
149
+ }
150
+ ```
package/bin/spa.js CHANGED
File without changes
package/bin/ssr.js CHANGED
File without changes
package/common/start.js CHANGED
@@ -45,14 +45,23 @@ function openStartRun(webpackFactory) {
45
45
  const config = webpackFactory({ ...appConfig, port: PORT, startOpenPath }, extendEnv);
46
46
  const compiler = webpack(config);
47
47
  const server = new WebpackDevServer(options, compiler);
48
+ let hasOpenBrowser = false;
49
+
50
+ // 添加钩子函数,弹出浏览器
51
+ compiler.hooks.done.tap('OpenBrowser', () => {
52
+ if (!hasOpenBrowser) {
53
+ hasOpenBrowser = true;
54
+ setTimeout(() => {
55
+ open(`http://localhost:${PORT}${startOpenPath}`);
56
+ }, 600);
57
+ }
58
+ });
48
59
 
49
60
  server.startCallback(err => {
50
61
  if (err) {
51
62
  // eslint-disable-next-line no-console
52
63
  console.log(err);
53
- return;
54
64
  }
55
- open(`http://localhost:${PORT}${startOpenPath}`);
56
65
  });
57
66
  ['SIGINT', 'SIGTERM'].forEach(sig => {
58
67
  process.on(sig, () => {
@@ -8,7 +8,8 @@ const appWebpackConfigPath = getProjectPath('/config/app.webpack.js');
8
8
 
9
9
  const sassRegex = /\.(scss|sass)$/;
10
10
  const sassModuleRegex = /\.module\.(scss|sass)$/;
11
- const imageResolvingRegex = /\.resolving\.(png|jpg|jepg|gif)$/;
11
+ const imageNotResolvingRegex = /^\/(common-uiasset|wwwasset|onlineasset)\//;
12
+ const httpRegex = /^https?:\/\//;
12
13
 
13
14
  function getStyleLoaders({ isProd, isServer, isHotServer, isSass, moduleOption = {} }) {
14
15
  const result = [
@@ -17,8 +18,8 @@ function getStyleLoaders({ isProd, isServer, isHotServer, isSass, moduleOption =
17
18
  options: {
18
19
  ...moduleOption,
19
20
  url: {
20
- // background image只解析以".resolving."结尾的静态资源, 例如:'img.resolving.png'
21
- filter: url => imageResolvingRegex.test(url)
21
+ // background image不解析以"http、https"开头或者/common-uiasset/|/wwwasset/|/onlineasset/开头的静态资源, 例如:'/common-uiasset/img.png'
22
+ filter: url => !httpRegex.test(url) && !imageNotResolvingRegex.test(url)
22
23
  }
23
24
  }
24
25
  },
@@ -56,7 +57,7 @@ function getStyleLoaders({ isProd, isServer, isHotServer, isSass, moduleOption =
56
57
  loader: require.resolve('sass-loader'),
57
58
  options: {
58
59
  // 增加环境变量,供sass使用
59
- additionalData: `$env: ${process.env.NODE_ENV};`
60
+ additionalData: `$env: ${isProd ? 'production' : 'development'};`
60
61
  }
61
62
  }
62
63
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autobest-ui/scripts",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "private": false,
5
5
  "description": "utils for project tools",
6
6
  "bin": {
@@ -92,5 +92,5 @@
92
92
  "webpack-merge": "5.8.0",
93
93
  "webpack-node-externals": "3.0.0"
94
94
  },
95
- "gitHead": "54fc1daf543e5e91f26409cf62e1a9edec3e4196"
95
+ "gitHead": "fb75bd54150164e95c075eef437badba8dcd0728"
96
96
  }