]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
docs: details on esm-bundler feature flags [ci skip]
authorEvan You <yyx990803@gmail.com>
Tue, 21 Jul 2020 14:11:28 +0000 (10:11 -0400)
committerEvan You <yyx990803@gmail.com>
Tue, 21 Jul 2020 14:11:33 +0000 (10:11 -0400)
packages/vue/README.md

index e37aad3e081f4e37e7164b248e9f0cf976117a96..be977691953314e563040eedbc1f8eff7d798d33 100644 (file)
     - **`vue.runtime.esm-bundler.js` (default)** is runtime only, and requires all templates to be pre-compiled. This is the default entry for bundlers (via `module` field in `package.json`) because when using a bundler templates are typically pre-compiled (e.g. in `*.vue` files).
     - **`vue.esm-bundler.js`**: includes the runtime compiler. Use this if you are using a bundler but still want runtime template compilation (e.g. in-DOM templates or templates via inline JavaScript strings). You will need to configure your bundler to alias `vue` to this file.
 
+  #### Bundler Build Feature Flags
+
+  Starting with 3.0.0-rc.3, `esm-bundler` builds now exposes global feature flags that can be overwritten at compile time:
+
+  - `__VUE_OPTIONS_API__` (enable/disable Options API support, default: `true`)
+  - `__VUE_PROD_DEVTOOLS__` (enable/disable devtools support in production, default: `false`)
+
+  The build will work without configuring these flags, however it is **strongly recommended** to properly configure them in order to get proper tree-shaking in the final bundle. To configure these flags:
+
+  - webpack: use [DefinePlugin](https://webpack.js.org/plugins/define-plugin/)
+  - Rollup: use [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/master/packages/replace)
+  - Vite: configured by default, but can be overwritten using the [`define` option](https://github.com/vitejs/vite/blob/a4133c073e640b17276b2de6e91a6857bdf382e1/src/node/config.ts#L72-L76)
+
 ### For Server-Side Rendering
 
 - **`vue.cjs(.prod).js`**: