esbuild 如何把js打包成umd --format=umd无效?

  "scripts": {
    "build:es": "esbuild src/index.ts --bundle  --minify --target=es2015 --format=esm --outfile=lib/index.js",
    "build:cjs": "esbuild src/index.ts --bundle  --minify --target=es2015 --format=cjs --outfile=lib/index.cjs.js",
    "build:umd": "esbuild src/index.ts --bundle  --minify --target=es2015 --format=umd --outfile=lib/index.umd.js",
    "build": "npm run build:es && npm run build:cjs && npm run build:umd"
  },

我想把一个ts文件打包成umd,用来提供给浏览器直接引入使用

但是运行 esbuild src/index.ts --bundle --minify --target=es2015 --format=umd --outfile=lib/index.umd.js会报错:

X [ERROR] Invalid value "umd" in "--format=umd"

  Valid values are "iife", "cjs", or "esm".

请问正确的思路应该是怎样打包呢?

阅读 3.3k
1 个回答
"scripts": {
  "build:iife": "esbuild src/index.ts --bundle --minify --target=es2015 --format=iife --global-name=myLibrary --outfile=lib/index.iife.js"
}

html:


<script src="lib/index.iife.js"></script>
<script>
  // 用全局变量myLibrary
  myLibrary.someFunction();
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题