@@ -44,46 +44,61 @@ gulp.task("svg", async () => {
44
44
// scss -> css
45
45
gulp . task ( "scss" , async ( ) => {
46
46
await sleep ( 1 ) ;
47
- return gulp . src ( "./scss/**/* .scss" ) // 指定要處理的 Scss 檔案目錄
47
+ gulp . src ( "./scss/MainWindow/MainWindow .scss" ) // 指定要處理的 Scss 檔案目錄
48
48
. pipe ( sass ( {
49
49
// outputStyle: "compressed", // 壓縮
50
50
} ) )
51
51
. pipe ( gulp . dest ( "./css" ) ) // 指定編譯後的 css 檔案目錄
52
52
. pipe ( gulp . dest ( output2 + "/css" ) )
53
53
54
+ gulp . src ( "./scss/SettingWindow/SettingWindow.scss" )
55
+ . pipe ( sass ( {
56
+ } ) )
57
+ . pipe ( gulp . dest ( "./css" ) )
58
+ . pipe ( gulp . dest ( output2 + "/css" ) )
54
59
} ) ;
55
60
56
61
// ejs -> html
57
- gulp . task ( "ejs-main " , async ( ) => {
62
+ gulp . task ( "ejs" , async ( ) => {
58
63
await sleep ( 1 ) ;
59
- return gulp . src ( "./ejs/MainWindow/MainWindow.ejs" )
64
+ gulp . src ( "./ejs/MainWindow/MainWindow.ejs" )
60
65
. pipe ( ejs ( { readFile : readFile } , { async : true } ) )
61
66
. pipe ( rename ( { extname : ".html" } ) ) // 修改輸出的副檔名
62
67
. pipe ( gulp . dest ( "./" ) )
63
68
. pipe ( gulp . dest ( output2 + "/" ) )
64
- } ) ;
65
- gulp . task ( "ejs-setting" , async ( ) => {
66
- await sleep ( 1 ) ;
67
- return gulp . src ( "./ejs/SettingWindow/SettingWindow.ejs" )
69
+
70
+ gulp . src ( "./ejs/SettingWindow/SettingWindow.ejs" )
68
71
. pipe ( ejs ( { readFile : readFile } , { async : true } ) )
69
72
. pipe ( rename ( { extname : ".html" } ) )
70
73
. pipe ( gulp . dest ( "./" ) )
71
74
. pipe ( gulp . dest ( output2 + "/" ) )
72
-
73
75
} ) ;
74
76
75
77
// ts -> js
76
78
gulp . task ( "ts" , async ( ) => {
77
79
await sleep ( 1 ) ;
78
- return gulp . src ( "./ts/**/*.ts" )
79
- . pipe ( gulpEsbuild ( {
80
- // minify: true, // 壓縮
81
- // outfile: "bundle.js",
82
- // bundle: true,
83
- // loader: { ".tsx": "tsx", },
84
- } ) )
85
- . pipe ( gulp . dest ( "./js" ) )
86
- . pipe ( gulp . dest ( output2 + "/js" ) )
80
+
81
+ var fileMappings = [
82
+ { path : "./ts/MainWindow/MainWindow.ts" , bundle : true } ,
83
+ { path : "./ts/SettingWindow/SettingWindow.ts" , bundle : true } ,
84
+ { path : "./ts/TiefseeviewWorker.ts" , bundle : true } ,
85
+ { path : "./ts/TiefseeviewWorkerSub.ts" , bundle : true } ,
86
+ { path : "./ts/LibIframe.ts" , bundle : false } ,
87
+ ] ;
88
+
89
+ for ( var i = 0 ; i < fileMappings . length ; i ++ ) {
90
+
91
+ gulp . src ( fileMappings [ i ] . path )
92
+ . pipe ( gulpEsbuild ( {
93
+ // minify: true, // 壓縮
94
+ outfile : path . basename ( fileMappings [ i ] . path , ".ts" ) + ".js" ,
95
+ bundle : fileMappings [ i ] . bundle ,
96
+ // loader: { ".tsx": "tsx", },
97
+ } ) )
98
+ . pipe ( gulp . dest ( "./js" ) )
99
+ . pipe ( gulp . dest ( output2 + "/js" ) )
100
+ }
101
+
87
102
} ) ;
88
103
89
104
// 把檔案複製到開發資料夾。 (有非 ts、scss、ejs 的資源需要複製到開發資料夾時使用
@@ -117,17 +132,16 @@ gulp.task("build-rust", (done) => {
117
132
} ) ;
118
133
119
134
// 打包 - 單次
120
- gulp . task ( "build" , gulp . series ( "scss" , "ts" , "svg" , "ejs-main" , "ejs-setting ", "build-rust" ,
135
+ gulp . task ( "build" , gulp . series ( "scss" , "ts" , "svg" , "ejs" , "build-rust" ,
121
136
"copy-files" ) ) ; // copy-files 必須放在最後
122
137
123
138
// 打包 - 持續監控檔案變化
124
- gulp . task ( "watch" , gulp . series ( "scss" , "ts" , "svg" , "ejs-main" , "ejs-setting ", ( ) => {
139
+ gulp . task ( "watch" , gulp . series ( "scss" , "ts" , "svg" , "ejs" , ( ) => {
125
140
gulp . watch ( "./scss/**/*.scss" , gulp . series ( "scss" ) ) ;
126
141
gulp . watch ( "./ts/**/*.ts" , gulp . series ( "ts" ) ) ;
127
- gulp . watch ( "./ejs/MainWindow/*.ejs" , gulp . series ( "ejs-main" ) ) ;
128
- gulp . watch ( "./ejs/SettingWindow/*.ejs" , gulp . series ( "ejs-setting" ) ) ;
142
+ gulp . watch ( "./ejs/**/*.ejs" , gulp . series ( "ejs" ) ) ;
129
143
130
- gulp . watch ( "./img/default/*.svg" , gulp . series ( "ejs-main " ) ) ; // svg 圖示
144
+ gulp . watch ( "./img/default/*.svg" , gulp . series ( "ejs" ) ) ; // svg 有可能會被 ejs 引用,所以也要重新執行 ejs
131
145
gulp . watch ( "./img/default/*.svg" , gulp . series ( "svg" ) ) ;
132
146
} ) ) ;
133
147
0 commit comments