ソースを参照

vue升级、打包优化

mxd 3 年 前
コミット
90fe40c426
2 ファイル変更17 行追加5 行削除
  1. 3 3
      package.json
  2. 14 2
      src/plugins/monaco-exclude-languages.js

+ 3 - 3
package.json

@@ -9,11 +9,11 @@
     "axios": "^0.24.0",
     "monaco-editor": "0.29.1",
     "qs": "^6.10.1",
-    "vue": "^3.2.26"
+    "vue": "^3.2.31"
   },
   "devDependencies": {
-    "@vitejs/plugin-vue": "^2.0.1",
-    "vite": "^2.7.10",
+    "@vitejs/plugin-vue": "^2.2.4",
+    "vite": "^2.8.6",
     "vite-plugin-svg-icons": "^1.1.0"
   }
 }

+ 14 - 2
src/plugins/monaco-exclude-languages.js

@@ -1,14 +1,23 @@
+const excludes = ['typescript', 'css', 'html']
 export function MonacoExcludeLanguages(esbuild) {
 	if(esbuild){
 		return {
 			name: 'esbuild-plugin-monaco-exclude-languages',
 			setup(build){
-				build.onLoad({ filter:  /basic-languages[/\\]monaco\.contribution\.js/ }, async (args) => {
+				build.onLoad({ filter:  /basic-languages[/\\]monaco\.contribution\.js/ }, async () => {
 					return {
 						contents: `import '../editor/editor.api.js';`,
 						loader: 'ts'
 					}
 				})
+				excludes.forEach(id => {
+					build.onLoad({ filter:  new RegExp(`language/${id}`) }, async () => {
+						return {
+							contents: ``,
+							loader: 'ts'
+						}
+					})
+				})
 			}
 		}
 	}
@@ -18,6 +27,9 @@ export function MonacoExcludeLanguages(esbuild) {
 			if(/basic-languages[/\\]monaco\.contribution\.js/.test(path)){
 				return `import '../editor/editor.api.js';`
 			}
+			if(excludes.some(id => path.indexOf(`/monaco-editor/esm/vs/language/${id}/`) > 0)){
+				return ``
+			}
 		}
 	}
-}
+}