Vue Sass error

Deprecation Warning: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
Deprecation Warning [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import
@import "mixins/banner";
│ ^^^^^^^^^^^^^^^

node_modules/bootstrap/scss/bootstrap.scss 1:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import


7 │ @import "functions";
│ ^^^^^^^^^^^

node_modules/bootstrap/scss/bootstrap.scss 7:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import


8 │ @import "variables";
│ ^^^^^^^^^^^

node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import


9 │ @import "variables-dark";
│ ^^^^^^^^^^^^^^^^

node_modules/bootstrap/scss/bootstrap.scss 9:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

More info and automated migrator: https://sass-lang.com/d/import


10 │ @import "maps";
│ ^^^^^^

node_modules/bootstrap/scss/bootstrap.scss 10:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use color.mix instead.

More info and automated migrator: https://sass-lang.com/d/import


207 │ @return mix(white, $color, $weight);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 207:11 tint-color()
node_modules/bootstrap/scss/_variables.scss 79:12 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use color.mix instead.

More info and automated migrator: https://sass-lang.com/d/import


212 │ @return mix(black, $color, $weight);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 212:11 shade-color()
node_modules/bootstrap/scss/_variables.scss 84:12 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use color.mix instead.

More info and automated migrator: https://sass-lang.com/d/import


342 │ $light-bg-subtle: mix($gray-100, $white) !default;
│ ^^^^^^^^^^^^^^^^^^^^^^

node_modules/bootstrap/scss/_variables.scss 342:27 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use math.unit instead.

More info and automated migrator: https://sass-lang.com/d/import


11 │ @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
│ ^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 11:30 -assert-ascending()
node_modules/bootstrap/scss/_variables.scss 494:1 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use math.unit instead.

More info and automated migrator: https://sass-lang.com/d/import


11 │ @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
│ ^^^^^^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 11:51 -assert-ascending()
node_modules/bootstrap/scss/_variables.scss 494:1 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [color-functions]: red() is deprecated. Suggestion:

color.channel($color, "red", $space: rgb)

More info: https://sass-lang.com/d/color-functions


185 │ "r": red($color),
│ ^^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 185:10 luminance()
node_modules/bootstrap/scss/_functions.scss 174:8 contrast-ratio()
node_modules/bootstrap/scss/_functions.scss 159:22 color-contrast()
node_modules/bootstrap/scss/_variables.scss 846:42 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [color-functions]: green() is deprecated. Suggestion:

color.channel($color, "green", $space: rgb)

More info: https://sass-lang.com/d/color-functions


186 │ "g": green($color),
│ ^^^^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 186:10 luminance()
node_modules/bootstrap/scss/_functions.scss 174:8 contrast-ratio()
node_modules/bootstrap/scss/_functions.scss 159:22 color-contrast()
node_modules/bootstrap/scss/_variables.scss 846:42 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [color-functions]: blue() is deprecated. Suggestion:

color.channel($color, "blue", $space: rgb)

More info: https://sass-lang.com/d/color-functions


187 │ "b": blue($color)
│ ^^^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 187:10 luminance()
node_modules/bootstrap/scss/_functions.scss 174:8 contrast-ratio()
node_modules/bootstrap/scss/_functions.scss 159:22 color-contrast()
node_modules/bootstrap/scss/_variables.scss 846:42 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [color-functions]: red() is deprecated. Suggestion:

color.channel($color, "red", $space: rgb)

More info: https://sass-lang.com/d/color-functions


37 │ @return red($value), green($value), blue($value);
│ ^^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 37:11 to-rgb()
node_modules/bootstrap/scss/_variables.scss 846:31 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [color-functions]: green() is deprecated. Suggestion:

color.channel($color, "green", $space: rgb)

More info: https://sass-lang.com/d/color-functions


37 │ @return red($value), green($value), blue($value);
│ ^^^^^^^^^^^^^

node_modules/bootstrap/scss/_functions.scss 37:24 to-rgb()
node_modules/bootstrap/scss/_variables.scss 846:31 @import
node_modules/bootstrap/scss/bootstrap.scss 8:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [mixed-decls]: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

┌──> node_modules/bootstrap/scss/_reboot.scss
503 │ font-weight: $legend-font-weight;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration

┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌ @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │ @content;
138 │ │ }
│ └─── nested rule

node_modules/bootstrap/scss/_reboot.scss 503:3 @import
node_modules/bootstrap/scss/bootstrap.scss 16:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [mixed-decls]: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

┌──> node_modules/bootstrap/scss/_reboot.scss
504 │ line-height: inherit;
│ ^^^^^^^^^^^^^^^^^^^^ declaration

┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌ @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │ @content;
138 │ │ }
│ └─── nested rule

node_modules/bootstrap/scss/_reboot.scss 504:3 @import
node_modules/bootstrap/scss/bootstrap.scss 16:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [mixed-decls]: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

┌──> node_modules/bootstrap/scss/_type.scss
38 │ font-family: $display-font-family;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration

┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌ @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │ @content;
138 │ │ }
│ └─── nested rule

node_modules/bootstrap/scss/_type.scss 38:5 @import
node_modules/bootstrap/scss/bootstrap.scss 17:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [mixed-decls]: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

┌──> node_modules/bootstrap/scss/_type.scss
39 │ font-style: $display-font-style;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration

┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌ @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │ @content;
138 │ │ }
│ └─── nested rule

node_modules/bootstrap/scss/_type.scss 39:5 @import
node_modules/bootstrap/scss/bootstrap.scss 17:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

Deprecation Warning [mixed-decls]: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

┌──> node_modules/bootstrap/scss/_type.scss
40 │ font-weight: $display-font-weight;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration

┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌ @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │ @content;
138 │ │ }
│ └─── nested rule

node_modules/bootstrap/scss/_type.scss 40:5 @import
node_modules/bootstrap/scss/bootstrap.scss 17:9 @use
src/assets/styles/base.scss 1:1 root stylesheet

在 vite_confog.

1
2
3
4
5
6
7
8
9
10
11
12
export default defineConfig({
plugins: [
....
],
//加入以下
css: {
preprocessorOptions: {
scss: {
silenceDeprecations: ['mixed-decls', 'color-functions', 'global-builtin', 'import']
},
}
},

js 算式

+加法

exp-1

1
2
let x = 100 + 50;
console.log('x=', x) // x= 150

exp-2

1
2
3
4
let a = 100;
let b = 50;
let x = a + b;
console.log('x=', x) // x= 150

exp-3

1
2
3
let a = 3;
let x = (100 + 50) * a;
console.log('x=', x) // x=450

- 減法 Subtracting

1
2
3
4
let x = 5;
let y = 2;
let z = x - y;
console.log(' z=', z) //z=3

* 乘法 Multiplying

1
2
3
4
let x = 5;
let y = 2;
let z = x * y;
console.log(' z=', z) // z= 10

/ 除法 Dividing

1
2
3
4
let x = 5;
let y = 2;
let z = x / y;
console.log(' z=', z) // z= 2.5

餘數Remainder

1
2
3
4
let x = 5;
let y = 2;
let z = x % y;
console.log(' z=', z) // z=1

遞增 Incrementing

1
2
3
4
let x = 5;
x++;
let z = x;
console.log(' z=', z) // z= 6

遞減 Decrementing

1
2
3
4
let x = 5;
x--;
let z = x;
console.log(' z=', z) // z= 4

指數運算 Exponentiation

1
2
3
let x = 5;
let z = x ** 2;
console.log(' z=', z) // z= 25

Math.pow(基底數, 指數)

Math.pow(base, exponent)

1
2
3
let x = 5;
let z = Math.pow(x,2);
console.log(' z=', z)

JavaScript Output 輸出

JavaScript 可以用不同的方式「顯示」資料:

  • innerHTML使用或 寫入 HTML 元素innerText。
  • 使用 寫入 HTML 輸出document.write()。
  • 使用 寫入警告框window.alert()。
  • 使用 寫入瀏覽器控制台console.log()。

innerHTML:使用該innerHTML屬性來改變 HTML 元素的 HTML 內容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>
<p>My First Paragraph</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = "<h2>Hello World</h2>";
</script>

</body>
</html>

innerText:使用該innerText屬性來改變 HTML 元素的內部文字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>
<p>My First Paragraph</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerText = "Hello World";
</script>

</body>
</html>

document.write():為了測試目的,使用起來很方便document.write():

1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>
<p>My first paragraph.</p>

<script>
document.write(5 + 6);
</script>

</body>
</html>

window.alert()

1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<body>

<h1>My First Web Page</h1>
<p>My first paragraph.</p>

<script>
window.alert(5 + 6);
</script>

</body>
</html>

console.log():為了調試目的,您可以console.log()在瀏覽器中呼叫該方法來顯示資料。

1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
<body>

<script>
console.log(5 + 6);
</script>

</body>
</html>

js typeof 判斷型別

typeof

JavaScript 的內建七種型別有 number、string、boolean、null、undefined、object、symbol

string
1
2
3
var title="這是測試";
console.log(typeof title)
'string'
number
1
2
3
var numberValue = 1;
typeof numberValue
'number'
Object
1
2
3
4
5
6
7
var lists= [
{title:'首頁',href:'home'},
{title:'關於我',href:'about_us'},
{title:'登入',href:'login'},
];
typeof lists
'Object'
boolean
1
2
3
var isOpen = true;
typeof isOpen
'boolean'
undefined
1
2
typeof i
'undefined'
symbol
1
2
3
const sym1 = Symbol();
typeof sym1
'symbol'
null
1
2
3
4
5
6
const foo = null;
if(foo == null){
console.log('null')
}
typeof foo;
'symbol'
Null參考資料

Vue 安裝 Bootstrap 5

Vite Vue 利用cdn使用bootstrap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap demo</title>
+ <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-SgOJa3DmI69IUzQ2PVdRZhwQ+dy64/BUtbMJw1MZ8t5HZApcHrRKUc4W0kG879m7" crossorigin="anonymous">
</head>
<body>
+ <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/js/bootstrap.bundle.min.js" integrity="sha384-k6d4wzSIapyDyv1kpU366/PK5hCdSbCRGRCMv+eplOQJWyd1fbcAu9OCUj5zNLiq" crossorigin="anonymous"></script>

+ <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>

+<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/js/bootstrap.min.js" integrity="sha384-VQqxDN0EQCkWoxt/0vsQvZswzTHUVOImccYmSyhJTp7kGtPed0Qcx8rK9h9YEgx+" crossorigin="anonymous"></script>
</body>
</html>

Vue npm 安裝 Bootstrap 5

1
npm install --save bootstrap

在src/assets新增scss資料夾 新增all.scss
到node_modules/scss/variables.scss另存到src/assets/scss資料夾
到node_modules/scss/variables-dark.scss另存到src/assets/scss資料夾

1
2
3
4
5
6
7
8
9
10
//all.scss
//基本樣式
+@import "bootstrap/scss/functions";
+@import "./variables";
+@import "./variables-dark";
+@import "bootstrap/scss/bootstrap.scss";
//新增以下需要的樣式引入
@import "./public.scss";
@import "./nav.scss";
@import "./leftSide.scss";

在main.ts引入

1
2
3
4
5
6
7
import { createApp } from 'vue'
import router from './router/router'
import { createPinia } from 'pinia'

import App from './App.vue'
import "bootstrap";
import '@/assets/scss/all.scss';