Ver código fonte

doc: (samples) Simplify Browser ESM Parcel build

Ryan Graff 3 anos atrás
pai
commit
e0fbcd2bda

+ 1 - 2
samples/browser-esm-parcel/index.html

@@ -10,8 +10,7 @@
 
 		<pre>
 $/browser-esm-parcel> npm install .
-$/browser-esm-parcel> npm run build
-$/browser-esm-parcel> npm run simpleserver
+$/browser-esm-parcel> npm start
 </pre
 		>
 

+ 1 - 8
samples/browser-esm-parcel/package.json

@@ -1,14 +1,7 @@
 {
 	"name": "helloworld",
 	"scripts": {
-		"simpleserver": "node ../node_modules/yaserver/bin/yaserver --root ./dist --port 9999",
-		"build": "npm run build-index && npm run build-json && npm run build-css && npm run build-html && npm run build-ts && npm run build-worker",
-		"build-index": "parcel build src/index.html --no-optimize",
-		"build-json": "parcel build node_modules/monaco-editor/esm/vs/language/json/json.worker.js --no-source-maps --no-optimize",
-		"build-css": "parcel build node_modules/monaco-editor/esm/vs/language/css/css.worker.js --no-source-maps --no-optimize",
-		"build-html": "parcel build node_modules/monaco-editor/esm/vs/language/html/html.worker.js --no-source-maps --no-optimize",
-		"build-ts": "parcel build node_modules/monaco-editor/esm/vs/language/typescript/ts.worker.js --no-source-maps --no-optimize",
-		"build-worker": "parcel build node_modules/monaco-editor/esm/vs/editor/editor.worker.js --no-source-maps --no-optimize"
+		"start": "parcel ./src/index.html"
 	},
 	"devDependencies": {
 		"monaco-editor": "^0.31.0",

+ 10 - 5
samples/browser-esm-parcel/src/index.js

@@ -1,20 +1,25 @@
+import JSONWorker from 'url:monaco-editor/esm/vs/language/json/json.worker.js';
+import CSSWorker from 'url:monaco-editor/esm/vs/language/css/css.worker.js';
+import HTMLWorker from 'url:monaco-editor/esm/vs/language/html/html.worker.js';
+import TSWorker from 'url:monaco-editor/esm/vs/language/typescript/ts.worker.js';
+import EditorWorker from 'url:monaco-editor/esm/vs/editor/editor.worker.js';
 import * as monaco from 'monaco-editor/esm/vs/editor/editor.main.js';
 
 self.MonacoEnvironment = {
 	getWorkerUrl: function (moduleId, label) {
 		if (label === 'json') {
-			return './json.worker.js';
+			return JSONWorker;
 		}
 		if (label === 'css' || label === 'scss' || label === 'less') {
-			return './css.worker.js';
+			return CSSWorker;
 		}
 		if (label === 'html' || label === 'handlebars' || label === 'razor') {
-			return './html.worker.js';
+			return HTMLWorker;
 		}
 		if (label === 'typescript' || label === 'javascript') {
-			return './ts.worker.js';
+			return TSWorker;
 		}
-		return './editor.worker.js';
+		return EditorWorker;
 	}
 };