@ecoding/base.build 0.2.1 → 0.2.2

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
@@ -38,6 +38,20 @@
38
38
  }
39
39
  ```
40
40
 
41
+ ## 注意:
42
+
43
+ 内部已经支持了 sass 和 less 配置,默认 less,如果想要使用 sass,还需额外安装:
44
+
45
+ ```bash
46
+ # "node-sass": "^7.0.3",
47
+ # "sass-loader": "^13.1.0",
48
+
49
+ npm i sass-loader node-sass -D --registry http://r.cnpmjs.org
50
+ # 或
51
+ npm i sass-loader node-sass -D --registry https://registry.npm.taobao.org
52
+
53
+ ```
54
+
41
55
  ## 复杂自定义打包配置
42
56
 
43
57
  在工程下新建 build.js,return webpack 的配置即可,注意完全按照 webpack 配置规则,框架无做任何干涉
@@ -90,6 +104,7 @@ module.exports = {
90
104
  "less-loader": "11.0.0",
91
105
  "mini-css-extract-plugin": "2.6.1", // css压缩
92
106
  "postcss-loader": "7.0.0", // css向下兼容
107
+ "rimraf": "^3.0.2",
93
108
  "style-loader": "3.3.1", // 编译 style 内联css
94
109
  "terser-webpack-plugin": "5.3.3", // js压缩
95
110
  "typescript": "4.8.3",
@@ -7,10 +7,11 @@ const loaders = [
7
7
  {
8
8
  loader: "css-loader",
9
9
  options: {
10
- modules: { // enable CSS modules for all files matching /\.module\.\w+$/i.test(filename) and /\.icss\.\w+$/i.test(filename) regexp.
10
+ modules: {
11
+ // enable CSS modules for all files matching /\.module\.\w+$/i.test(filename) and /\.icss\.\w+$/i.test(filename) regexp.
11
12
  auto: true,
12
13
  mode: "local",
13
- localIdentName: '[name]-[local]--[hash:base64:5]',
14
+ localIdentName: "[name]-[local]--[hash:base64:5]"
14
15
  }
15
16
  }
16
17
  },
@@ -46,6 +47,18 @@ const getLessRule = () => {
46
47
  };
47
48
  };
48
49
 
50
+ const getSassRule = () => {
51
+ return {
52
+ test: /\.scss$/,
53
+ use: [
54
+ ...loaders,
55
+ {
56
+ loader: "sass-loader"
57
+ }
58
+ ]
59
+ };
60
+ };
61
+
49
62
  const getCssRule = () => {
50
63
  return {
51
64
  test: /\.css$/,
@@ -55,5 +68,6 @@ const getCssRule = () => {
55
68
 
56
69
  module.exports = {
57
70
  getCssRule,
71
+ getSassRule,
58
72
  getLessRule
59
73
  };
@@ -2,10 +2,11 @@ const loaders = [
2
2
  {
3
3
  loader: "css-loader",
4
4
  options: {
5
- modules: { // enable CSS modules for all files matching /\.module\.\w+$/i.test(filename) and /\.icss\.\w+$/i.test(filename) regexp.
5
+ modules: {
6
+ // enable CSS modules for all files matching /\.module\.\w+$/i.test(filename) and /\.icss\.\w+$/i.test(filename) regexp.
6
7
  auto: true,
7
8
  mode: "local",
8
- localIdentName: '[name]-[local]--[hash:base64:5]',
9
+ localIdentName: "[name]-[local]--[hash:base64:5]",
9
10
  exportOnlyLocals: true
10
11
  }
11
12
  }
@@ -41,6 +42,18 @@ const getLessRule = () => {
41
42
  };
42
43
  };
43
44
 
45
+ const getSassRule = () => {
46
+ return {
47
+ test: /\.scss$/,
48
+ use: [
49
+ ...loaders,
50
+ {
51
+ loader: "sass-loader"
52
+ }
53
+ ]
54
+ };
55
+ };
56
+
44
57
  const getCssRule = () => {
45
58
  return {
46
59
  test: /\.css$/,
@@ -50,5 +63,6 @@ const getCssRule = () => {
50
63
 
51
64
  module.exports = {
52
65
  getCssRule,
66
+ getSassRule,
53
67
  getLessRule
54
68
  };
@@ -1,29 +1,22 @@
1
- const getTsRule = require('./ts-loader');
2
- const { getCssRule, getLessRule } = require('./css-loader');
3
- const getImgRule = require('./img-loader');
4
- const getSvgRule = require('./svg-loader');
5
- const getFontRule = require('./font-loader');
1
+ const getTsRule = require("./ts-loader");
2
+ const { getCssRule, getLessRule, getSassRule } = require("./css-loader");
3
+ const getImgRule = require("./img-loader");
4
+ const getSvgRule = require("./svg-loader");
5
+ const getFontRule = require("./font-loader");
6
6
 
7
7
  const getModule = () => {
8
8
  const tsRule = getTsRule();
9
9
  const lessRule = getLessRule();
10
10
  const cssRule = getCssRule();
11
+ const sassRule = getSassRule();
11
12
  const imgRule = getImgRule();
12
13
  const svgRule = getSvgRule();
13
14
  const fontRule = getFontRule();
14
15
 
15
16
  return {
16
17
  // noParse:/test.js$/, 不编译正则匹配上的文件
17
- rules: [
18
- tsRule,
19
- lessRule,
20
- cssRule,
21
- imgRule,
22
- svgRule,
23
- fontRule
24
- ]
25
- }
26
- }
18
+ rules: [tsRule, lessRule, sassRule, cssRule, imgRule, svgRule, fontRule]
19
+ };
20
+ };
27
21
 
28
-
29
- module.exports = getModule;
22
+ module.exports = getModule;
@@ -1,8 +1,8 @@
1
1
  const getImgRule = require("./img-loader");
2
- const getTsRule = require('./ts-loader/ssr');
2
+ const getTsRule = require("./ts-loader/ssr");
3
3
  const getSvgRule = require("./svg-loader");
4
4
  const getFontRule = require("./font-loader");
5
- const { getLessRule, getCssRule } = require("./css-loader/ssr");
5
+ const { getLessRule, getCssRule, getSassRule } = require("./css-loader/ssr");
6
6
 
7
7
  const getModule = () => {
8
8
  const tsRule = getTsRule();
@@ -11,17 +11,11 @@ const getModule = () => {
11
11
  const fontRule = getFontRule();
12
12
  const cssRule = getCssRule();
13
13
  const lessRule = getLessRule();
14
+ const sassRule = getSassRule();
14
15
 
15
16
  return {
16
17
  // noParse:/test.js$/, 不编译正则匹配上的文件
17
- rules: [
18
- tsRule,
19
- lessRule,
20
- cssRule,
21
- imgRule,
22
- svgRule,
23
- fontRule
24
- ]
18
+ rules: [tsRule, lessRule, sassRule, cssRule, imgRule, svgRule, fontRule]
25
19
  };
26
20
  };
27
21
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecoding/base.build",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "tpl building",
5
5
  "author": "cxc",
6
6
  "license": "MIT",
@@ -29,6 +29,7 @@
29
29
  "cross-env": "7.0.3",
30
30
  "css-loader": "6.7.1",
31
31
  "css-minimizer-webpack-plugin": "4.0.0",
32
+ "eslint": "8.18.0",
32
33
  "globby": "^11.0.2",
33
34
  "html-webpack-plugin": "5.5.0",
34
35
  "inline-chunk-html-plugin": "1.1.1",
@@ -50,5 +51,5 @@
50
51
  "publishConfig": {
51
52
  "access": "public"
52
53
  },
53
- "gitHead": "98edfa407d94f9358bc7d1275634bcb0d79a0c01"
54
+ "gitHead": "3e1dc18ba738b70dc75d79e88f366cc8d6a3f666"
54
55
  }