vue3-yuanma/packages/vue/README.md

2.2 KiB

vue

Which dist file to use?

  • vue.global(.prod).js:

    • For direct use via <script src="..."> in the browser. Exposes the Vue global.
    • Note: global builds are not UMD builds. Instead they are built as IIFEs.
  • *vue(.runtime).esm-bundler.js:

    • For use with bundlers like webpack, rollup and parcel.
    • Leaves prod/dev branches with process.env.NODE_ENV guards (must be replaced by bundler)
    • Does not ship minified builds (to be done together with the rest of the code after bundling)
    • imports dependencies (e.g. @vue/runtime-core, @vue/runtime-compiler)
      • imported depdencies are also esm-bundler builds and will in turn import their dependencies (e.g. @vue/runtime-core imports @vue/reactivity)
      • this means you can install/import these deps individually without ending up with different instances of these dependencies.
    • vue.runtime.esm-bundler.js: runtime only, does not include runtime template compilation support. 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).
  • vue.esm(.prod).js:

    • For usage via native ES modules imports (in browser via <script type="module">, or via Node.js native ES modules support in the future)
    • Inlines all dependencies - i.e. it's a single ES module with no imports from other files
      • this means you must import everything from this file nad this file only to ensure you are getting the same instance of code.
    • Hard-coded prod/dev branches, and the prod build is pre-minified (you will need to use different files for dev/prod)
  • vue.cjs(.prod).js:

    • For use in Node.js server-side rendering via require().
    • The dev/prod files are pre-built, but are dynamically required based on process.env.NODE_ENV in index.js, which is the default entry when you do require('vue').