Bundle Project
Reading needs 2 minutes
In general, if you are using modern build tools such as Webpack, Rollup, or ESBuild, you can easily build projects that depend on @antv/g6
.
Some build tools, such as Vite, use ESBuild as the underlying tool, so you can refer to ESBuild's configuration.
Below are some example configurations that you can refer to when building your project. If you find that these configurations do not work properly, make sure that your build tool version is up to date.
webpack
and webpack-cli
are installed in your project:npm install webpack webpack-cli --save-dev
webpack.config.js
for configuration:const path = require('path');module.exports = {entry: './src/index.ts',output: {path: path.resolve(__dirname, 'dist'),filename: 'index.js',},mode: 'production',};
npx webpack
The above configuration works with
"webpack": "^5.94.0"
,"webpack-cli": "^5.1.4"
.
⚠️ It is strongly recommended that projects use Webpack 5. If you are using Webpack 4, follow the steps below to configure:
babel-loader
(<9), @babel/preset-env
, @open-wc/webpack-import-meta-loader
If you are using TypeScript, you also need to install
ts-loader
.
npm install babel-loader@8 @babel/preset-env @open-wc/webpack-import-meta-loader --save-dev
webpack.config.js
configuration:module.exports = {entry: './src/index.js',output: {path: path.resolve(__dirname, 'dist'),filename: 'index.js',},module: {rules: [{test: /\.js$/,use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env'],},},},{test: /\.js$/,loader: '@open-wc/webpack-import-meta-loader',},],},mode: 'production',};
rollup
and the necessary plugins are installed in your project:@rollup/plugin-commonjs
: Used to load CommonJS modules@rollup/plugin-node-resolve
: Used to load Node.js modulesnpm install rollup @rollup/plugin-commonjs @rollup/plugin-node-resolve --save-dev
rollup.config.js
for configuration:const commonjs = require('@rollup/plugin-commonjs');const resolve = require('@rollup/plugin-node-resolve');module.exports = {input: 'src/index.ts',output: {file: 'dist/index.js',format: 'umd',name: 'project',},plugins: [resolve(), commonjs()],};
npx rollup -c
esbuild
is installed in your project:npm install esbuild --save-dev
npx esbuild src/index.ts --bundle --outfile=dist/index.js