chain-saasui 1.0.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 +6 -0
- package/babel.config.js +13 -0
- package/build/webpack.common.js +54 -0
- package/build/webpack.components.js +69 -0
- package/build/webpack.demo.js +40 -0
- package/components/css/card.scss +19 -0
- package/components/css/common.scss +10 -0
- package/components/css/container.scss +14 -0
- package/components/css/detail.scss +87 -0
- package/components/css/dialog.scss +83 -0
- package/components/css/group.scss +82 -0
- package/components/css/index.scss +11 -0
- package/components/css/messagebox.scss +59 -0
- package/components/css/pagetable.scss +89 -0
- package/components/css/table.scss +0 -0
- package/components/css/tablebuttons.scss +15 -0
- package/components/css/unit.scss +25 -0
- package/components/src/SCard/index.vue +41 -0
- package/components/src/SContainer/index.vue +36 -0
- package/components/src/SDialog/index.vue +99 -0
- package/components/src/SDrawer/index.vue +95 -0
- package/components/src/SForm/SSelect/index.vue +108 -0
- package/components/src/SGroup/icon_rtsuc.png +0 -0
- package/components/src/SGroup/index.vue +81 -0
- package/components/src/SMessagebox/index.js +66 -0
- package/components/src/SMessagebox/messagebox.vue +85 -0
- package/components/src/SPage/Pagedetail.vue +114 -0
- package/components/src/SPage/Pagestep.vue +97 -0
- package/components/src/SPage/Pagetable.vue +109 -0
- package/components/src/STable/STablecolumn.vue +91 -0
- package/components/src/STable/index.vue +34 -0
- package/components/src/STableButtons/STableButtons.md +111 -0
- package/components/src/STableButtons/index.vue +96 -0
- package/components/src/SUnit/index.vue +75 -0
- package/components/src/index.js +46 -0
- package/gulpfile.js +20 -0
- package/jsconfig.json +25 -0
- package/lib/css/index.css +1 -0
- package/lib/saasui.common.js +1 -0
- package/package.json +82 -0
- package/public/favicon.ico +0 -0
- package/public/html/ie.html +46 -0
- package/public/index.html +274 -0
- package/public/robots.txt +2 -0
- package/public/template/base/Template_Account.xls +0 -0
- package/public/template/base/Template_Feedback.xls +0 -0
- package/public/template/base/Template_Team.xls +0 -0
- package/public/template/base/Template_Team_Member.xls +0 -0
- package/src/App.vue +30 -0
- package/src/assets/logo.png +0 -0
- package/src/components/HelloWorld.vue +58 -0
- package/src/main.js +16 -0
- package/vue.config.js +40 -0
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
7
|
+
<meta name="renderer" content="webkit">
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
|
9
|
+
<!-- <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.js"></script> -->
|
|
10
|
+
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.12/vue.js"></script>
|
|
11
|
+
<script src="https://unpkg.com/axios@0.21.0/dist/axios.min.js"></script>
|
|
12
|
+
<link href="https://unpkg.com/element-ui@2.15.14/lib/theme-chalk/index.css" rel="stylesheet">
|
|
13
|
+
<script src="https://unpkg.com/element-ui@2.15.14/lib/index.js"></script>
|
|
14
|
+
<script src="https://unpkg.com/element-ui@2.15.13/lib/umd/locale/en.js"></script>
|
|
15
|
+
<script src="https://unpkg.com/element-ui@2.15.13/lib/umd/locale/zh-CN.js"></script>
|
|
16
|
+
<script src="https://unpkg.com/element-ui@2.15.13/lib/umd/locale/id.js"></script>
|
|
17
|
+
<script src="https://unpkg.com/element-ui@2.15.13/lib/umd/locale/th.js"></script>
|
|
18
|
+
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
|
19
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=<%= process.env.VUE_APP_TRACKING_Id%>"></script>
|
|
20
|
+
<script>
|
|
21
|
+
window.dataLayer = window.dataLayer || [];
|
|
22
|
+
function gtag() { dataLayer.push(arguments); }
|
|
23
|
+
gtag('js', new Date());
|
|
24
|
+
gtag('config', '<%=process.env.VUE_APP_TRACKING_Id%>');
|
|
25
|
+
</script>
|
|
26
|
+
<!-- Event snippet for Sign-up conversion pageIn your html page, add the snippet and call gtag_report_conversion when someone clicks on the chosen link or button. -->
|
|
27
|
+
<script>function gtag_report_conversion(url) { var callback = function () { if (typeof (url) != 'undefined') { window.location = url; } }; gtag('event', 'conversion', { 'send_to': '<%=process.env.VUE_APP_TRACKING%>', 'event_callback': callback }); return false; }</script>
|
|
28
|
+
<script>function gtag_report_conversion_index(url) { var callback = function () { if (typeof (url) != 'undefined') { window.location = url; } }; gtag('event', 'conversion', { 'send_to': '<%=process.env.VUE_APP_TRACKING_REGISTER%>', 'event_callback': callback }); return false; }</script>
|
|
29
|
+
<title>
|
|
30
|
+
<%= webpackConfig.name %>
|
|
31
|
+
</title>
|
|
32
|
+
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</scrip><![endif]-->
|
|
33
|
+
<style>
|
|
34
|
+
html,
|
|
35
|
+
body,
|
|
36
|
+
#app {
|
|
37
|
+
height: 100%;
|
|
38
|
+
margin: 0px;
|
|
39
|
+
padding: 0px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.chromeframe {
|
|
43
|
+
margin: 0.2em 0;
|
|
44
|
+
background: #ccc;
|
|
45
|
+
color: #000;
|
|
46
|
+
padding: 0.2em 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#loader-wrapper {
|
|
50
|
+
position: fixed;
|
|
51
|
+
top: 0;
|
|
52
|
+
left: 0;
|
|
53
|
+
width: 100%;
|
|
54
|
+
height: 100%;
|
|
55
|
+
z-index: 999999;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
#loader {
|
|
59
|
+
display: block;
|
|
60
|
+
position: relative;
|
|
61
|
+
left: 50%;
|
|
62
|
+
top: 50%;
|
|
63
|
+
width: 150px;
|
|
64
|
+
height: 150px;
|
|
65
|
+
margin: -75px 0 0 -75px;
|
|
66
|
+
border-radius: 50%;
|
|
67
|
+
border: 3px solid transparent;
|
|
68
|
+
border-top-color: #FFF;
|
|
69
|
+
-webkit-animation: spin 2s linear infinite;
|
|
70
|
+
-ms-animation: spin 2s linear infinite;
|
|
71
|
+
-moz-animation: spin 2s linear infinite;
|
|
72
|
+
-o-animation: spin 2s linear infinite;
|
|
73
|
+
animation: spin 2s linear infinite;
|
|
74
|
+
z-index: 1001;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#loader:before {
|
|
78
|
+
content: "";
|
|
79
|
+
position: absolute;
|
|
80
|
+
top: 5px;
|
|
81
|
+
left: 5px;
|
|
82
|
+
right: 5px;
|
|
83
|
+
bottom: 5px;
|
|
84
|
+
border-radius: 50%;
|
|
85
|
+
border: 3px solid transparent;
|
|
86
|
+
border-top-color: #FFF;
|
|
87
|
+
-webkit-animation: spin 3s linear infinite;
|
|
88
|
+
-moz-animation: spin 3s linear infinite;
|
|
89
|
+
-o-animation: spin 3s linear infinite;
|
|
90
|
+
-ms-animation: spin 3s linear infinite;
|
|
91
|
+
animation: spin 3s linear infinite;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#loader:after {
|
|
95
|
+
content: "";
|
|
96
|
+
position: absolute;
|
|
97
|
+
top: 15px;
|
|
98
|
+
left: 15px;
|
|
99
|
+
right: 15px;
|
|
100
|
+
bottom: 15px;
|
|
101
|
+
border-radius: 50%;
|
|
102
|
+
border: 3px solid transparent;
|
|
103
|
+
border-top-color: #FFF;
|
|
104
|
+
-moz-animation: spin 1.5s linear infinite;
|
|
105
|
+
-o-animation: spin 1.5s linear infinite;
|
|
106
|
+
-ms-animation: spin 1.5s linear infinite;
|
|
107
|
+
-webkit-animation: spin 1.5s linear infinite;
|
|
108
|
+
animation: spin 1.5s linear infinite;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
@-webkit-keyframes spin {
|
|
113
|
+
0% {
|
|
114
|
+
-webkit-transform: rotate(0deg);
|
|
115
|
+
-ms-transform: rotate(0deg);
|
|
116
|
+
transform: rotate(0deg);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
100% {
|
|
120
|
+
-webkit-transform: rotate(360deg);
|
|
121
|
+
-ms-transform: rotate(360deg);
|
|
122
|
+
transform: rotate(360deg);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@keyframes spin {
|
|
127
|
+
0% {
|
|
128
|
+
-webkit-transform: rotate(0deg);
|
|
129
|
+
-ms-transform: rotate(0deg);
|
|
130
|
+
transform: rotate(0deg);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
100% {
|
|
134
|
+
-webkit-transform: rotate(360deg);
|
|
135
|
+
-ms-transform: rotate(360deg);
|
|
136
|
+
transform: rotate(360deg);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
#loader-wrapper .loader-section {
|
|
142
|
+
position: fixed;
|
|
143
|
+
top: 0;
|
|
144
|
+
width: 51%;
|
|
145
|
+
height: 100%;
|
|
146
|
+
background: #7171C6;
|
|
147
|
+
z-index: 1000;
|
|
148
|
+
-webkit-transform: translateX(0);
|
|
149
|
+
-ms-transform: translateX(0);
|
|
150
|
+
transform: translateX(0);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
#loader-wrapper .loader-section.section-left {
|
|
154
|
+
left: 0;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
#loader-wrapper .loader-section.section-right {
|
|
158
|
+
right: 0;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
.loaded #loader-wrapper .loader-section.section-left {
|
|
163
|
+
-webkit-transform: translateX(-100%);
|
|
164
|
+
-ms-transform: translateX(-100%);
|
|
165
|
+
transform: translateX(-100%);
|
|
166
|
+
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
|
167
|
+
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.loaded #loader-wrapper .loader-section.section-right {
|
|
171
|
+
-webkit-transform: translateX(100%);
|
|
172
|
+
-ms-transform: translateX(100%);
|
|
173
|
+
transform: translateX(100%);
|
|
174
|
+
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
|
175
|
+
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.loaded #loader {
|
|
179
|
+
opacity: 0;
|
|
180
|
+
-webkit-transition: all 0.3s ease-out;
|
|
181
|
+
transition: all 0.3s ease-out;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.loaded #loader-wrapper {
|
|
185
|
+
visibility: hidden;
|
|
186
|
+
-webkit-transform: translateY(-100%);
|
|
187
|
+
-ms-transform: translateY(-100%);
|
|
188
|
+
transform: translateY(-100%);
|
|
189
|
+
-webkit-transition: all 0.3s 1s ease-out;
|
|
190
|
+
transition: all 0.3s 1s ease-out;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.no-js #loader-wrapper {
|
|
194
|
+
display: none;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.no-js h1 {
|
|
198
|
+
color: #222222;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
#loader-wrapper .load_title {
|
|
202
|
+
color: #FFF;
|
|
203
|
+
font-size: 19px;
|
|
204
|
+
width: 100%;
|
|
205
|
+
text-align: center;
|
|
206
|
+
z-index: 9999999999999;
|
|
207
|
+
position: absolute;
|
|
208
|
+
top: 60%;
|
|
209
|
+
opacity: 1;
|
|
210
|
+
line-height: 30px;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
#loader-wrapper .load_title span {
|
|
214
|
+
font-weight: normal;
|
|
215
|
+
font-style: italic;
|
|
216
|
+
font-size: 13px;
|
|
217
|
+
color: #FFF;
|
|
218
|
+
opacity: 0.5;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.punchinrecord {
|
|
222
|
+
display: flex;
|
|
223
|
+
flex-direction: column;
|
|
224
|
+
height: 100px;
|
|
225
|
+
border: 1px solid #dfe6ec;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.punchinrecord span {
|
|
229
|
+
width: 100%;
|
|
230
|
+
height: 30px;
|
|
231
|
+
line-height: 30px;
|
|
232
|
+
text-align: center;
|
|
233
|
+
border-bottom: 1px solid #dfe6ec;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.punchinrecord .mainstyle {
|
|
237
|
+
height: 100%;
|
|
238
|
+
overflow: hidden;
|
|
239
|
+
overflow-y: scroll;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.punchinrecord .rowstyle {
|
|
243
|
+
text-align: center;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
@media print {
|
|
247
|
+
body {
|
|
248
|
+
padding-top: 50px;
|
|
249
|
+
/* 防止内容被页眉遮挡 */
|
|
250
|
+
-webkit-print-color-adjust: exact !important;
|
|
251
|
+
color-adjust: exact !important;
|
|
252
|
+
}
|
|
253
|
+
@page{
|
|
254
|
+
mso-footer:none!important;
|
|
255
|
+
mso-header:none!important;
|
|
256
|
+
margin-top: 0;
|
|
257
|
+
margin-bottom: 0;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
</style>
|
|
261
|
+
</head>
|
|
262
|
+
|
|
263
|
+
<body>
|
|
264
|
+
<div id="app">
|
|
265
|
+
<!-- <div id="loader-wrapper">
|
|
266
|
+
<div id="loader"></div>
|
|
267
|
+
<div class="loader-section section-left"></div>
|
|
268
|
+
<div class="loader-section section-right"></div>
|
|
269
|
+
<div class="load_title">正在加载系统资源,请耐心等待</div>
|
|
270
|
+
</div> -->
|
|
271
|
+
</div>
|
|
272
|
+
</body>
|
|
273
|
+
|
|
274
|
+
</html>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/src/App.vue
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="app">
|
|
3
|
+
<el-card>
|
|
4
|
+
<Card></Card>
|
|
5
|
+
</el-card>
|
|
6
|
+
|
|
7
|
+
</div>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
import HelloWorld from "./components/HelloWorld.vue";
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
name: "App",
|
|
15
|
+
components: {
|
|
16
|
+
HelloWorld,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<style>
|
|
22
|
+
#app {
|
|
23
|
+
font-family: Avenir, Helvetica, Arial, sans-serif;
|
|
24
|
+
-webkit-font-smoothing: antialiased;
|
|
25
|
+
-moz-osx-font-smoothing: grayscale;
|
|
26
|
+
text-align: center;
|
|
27
|
+
color: #2c3e50;
|
|
28
|
+
margin-top: 60px;
|
|
29
|
+
}
|
|
30
|
+
</style>
|
|
Binary file
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="hello">
|
|
3
|
+
<h1>{{ msg }}</h1>
|
|
4
|
+
<p>
|
|
5
|
+
For a guide and recipes on how to configure / customize this project,<br>
|
|
6
|
+
check out the
|
|
7
|
+
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
|
|
8
|
+
</p>
|
|
9
|
+
<h3>Installed CLI Plugins</h3>
|
|
10
|
+
<ul>
|
|
11
|
+
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
|
|
12
|
+
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
|
|
13
|
+
</ul>
|
|
14
|
+
<h3>Essential Links</h3>
|
|
15
|
+
<ul>
|
|
16
|
+
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
|
|
17
|
+
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
|
|
18
|
+
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
|
|
19
|
+
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
|
|
20
|
+
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
|
|
21
|
+
</ul>
|
|
22
|
+
<h3>Ecosystem</h3>
|
|
23
|
+
<ul>
|
|
24
|
+
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
|
|
25
|
+
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
|
|
26
|
+
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
|
|
27
|
+
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
|
|
28
|
+
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
|
|
29
|
+
</ul>
|
|
30
|
+
</div>
|
|
31
|
+
</template>
|
|
32
|
+
|
|
33
|
+
<script>
|
|
34
|
+
export default {
|
|
35
|
+
name: 'HelloWorld',
|
|
36
|
+
props: {
|
|
37
|
+
msg: String
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
43
|
+
<style scoped>
|
|
44
|
+
h3 {
|
|
45
|
+
margin: 40px 0 0;
|
|
46
|
+
}
|
|
47
|
+
ul {
|
|
48
|
+
list-style-type: none;
|
|
49
|
+
padding: 0;
|
|
50
|
+
}
|
|
51
|
+
li {
|
|
52
|
+
display: inline-block;
|
|
53
|
+
margin: 0 10px;
|
|
54
|
+
}
|
|
55
|
+
a {
|
|
56
|
+
color: #42b983;
|
|
57
|
+
}
|
|
58
|
+
</style>
|
package/src/main.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Vue from 'vue';
|
|
2
|
+
import App from './App.vue';
|
|
3
|
+
import ElementUI from 'element-ui';
|
|
4
|
+
import 'element-ui/lib/theme-chalk/index.css';
|
|
5
|
+
import sassui from '../components/lib';
|
|
6
|
+
import '../components/css/index.scss';
|
|
7
|
+
// import sassui from '../dist/index.umd';
|
|
8
|
+
// import '../dist/css/index.css';
|
|
9
|
+
|
|
10
|
+
Vue.config.productionTip = false;
|
|
11
|
+
|
|
12
|
+
Vue.use(sassui);
|
|
13
|
+
Vue.use(ElementUI);
|
|
14
|
+
new Vue({
|
|
15
|
+
render: h => h(App),
|
|
16
|
+
}).$mount('#app')
|
package/vue.config.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
const { log } = require('console')
|
|
3
|
+
const path = require('path')
|
|
4
|
+
|
|
5
|
+
function resolve(dir) {
|
|
6
|
+
return path.join(__dirname, dir)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
// vue.config.js 配置说明
|
|
11
|
+
// 官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
|
|
12
|
+
// 这里只列一部分,具体配置参考文档
|
|
13
|
+
module.exports = {
|
|
14
|
+
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
|
|
15
|
+
outputDir: 'dist',
|
|
16
|
+
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
|
|
17
|
+
assetsDir: 'static',
|
|
18
|
+
// 是否开启eslint保存检测,有效值:ture | false | 'error'
|
|
19
|
+
lintOnSave: false,
|
|
20
|
+
// 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
|
|
21
|
+
productionSourceMap: false,
|
|
22
|
+
configureWebpack: {
|
|
23
|
+
resolve: {
|
|
24
|
+
alias: {
|
|
25
|
+
'@': path.resolve(__dirname, './src'),
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
// rules: [
|
|
30
|
+
// {
|
|
31
|
+
// test: /\.scss$/,
|
|
32
|
+
// use: [
|
|
33
|
+
// 'style-loader', // 注入 CSS 到 DOM
|
|
34
|
+
// 'css-loader', // 处理 CSS 文件
|
|
35
|
+
// 'sass-loader' // 处理 Sass 文件
|
|
36
|
+
// ],
|
|
37
|
+
// },
|
|
38
|
+
// ],
|
|
39
|
+
}
|
|
40
|
+
|