• 安装 esbuild

      1. yarn add esbuild
    • 创建 index.js 文件 ```javascript import React from “react”; React.createElement(“div”); function hello() { console.log(“hello esbuild”); }

    hello();

    1. - 编译文件,
    2. ```javascript
    3. npx esbuild index.js --outfile=dist.js

    输出代码与文件无异

    1. import React from "react";
    2. React.createElement("div");
    3. function hello() {
    4. console.log("hello esbuild");
    5. }
    6. hello();
    • 把第三方库打包到代码里

      1. npx esbuild index.js --outfile=dist.js --bundle
      • —outfile 输出文件
      • —outdir 输出目录
      • —bundle 打包(会删除无用代码)
      • —target 指定编译目标 --target=esnext
      • —platform 指定编译目标 --platform=node
      • —format 指定编译格式 --format=cjs
      • —watch 监听文件改变
      • —define 指定环境变量 --define:TEST=12
      • —loader 指定解析器(需要开启bundle) --loader:.png=dataurl

    • esbuild 中无法识别 js 中的 dom,需要使用 jsx
      • 默认编译成 React.createElement 的代码
      • --jsx-factory=myJsxFactory 指明其他编译方法
        1. // import React from "react";
        2. import pkg from "./package.json";
        3. import logo from "./logo.png";
        4. import "./index.css";
        5. // const div = React.createElement("div");
        6. function hello() {
        7. console.log("hello esbuild");
        8. }
        9. console.log(TEST, logo, pkg);
        10. hello();
        11. const div = <div>Hello</div>;
        12. console.log(div);
        13. export default hello;