JSPM

@egova/vue-cli-plugin-dll

1.1.7
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q38370F
  • License MIT

vue-cli 3 plugin for Dll and DllReference

Package Exports

  • @egova/vue-cli-plugin-dll

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@egova/vue-cli-plugin-dll) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

vue-cli-plugin-dll vue-cli3 npm npm

Vue CLI 3 plugin for Dll and DllReference

English | 中文

⭐ TODO:

  • More injection mode options
  • add changeLog file
  • add util test

Getting started

make sure you have vue-cli 3.x.x

vue -V

Install

vue add @egova/dll 

# OR 

vue invoke @egova/dll

Quick Start

Simple configuration

you can config options of pluginOptions in vue.config.js:

// vue.config.js

 module.exports = {
    pluginOptions: {
        dll: {
            entry: ['vue', 'vue-route']
        }
    }
 }

Build Dll

npm run dll

#OR

npx vue-cli-service dll

Configuration

vue.config.js:

module.exports = {
  // Other options...

  pluginOptions: {
    dll: {
      // Enable DllReferencePlugin 
      open: true,
      // vonder entry
      entry: ''
      // chunk and manifest file dir
      output: ''
    }
  }
}

options

name type/value-set des default required
entry Object/Array/String vendor entry null true
open true/false/'auto' Enable DllReferencePlugin 'auto' false
output String chunk and manifest file dir 'yourProjectPath/public/dll' false
inject Boolean auto inject chunk true false
filename String chunk and manifest file name '[name].[hash:8].dll.js' false

more Expamle

entry config

the entry can be configured via the pluginOptions in vue.config.js

module.exports = {
  // Other options...

  pluginOptions: {
      dll: {
           // Single entry
          entry: ['vue', 'axios'],

          // Multiple entry
          entry: {
            vendorNameOne: ['vue-route'],
            vendorNameTwo: ['vue-vuex'], 
         }
      }
   }
}

open config

add webpack.DllReferencePlugin

module.exports = {
  // Other options...

  pluginOptions: {
      dll: {
          entry: ['vue'],
          // only add webpack.DllReferencePlugin plugin in production model
          open: process.env.NODE_ENV === 'production', //         
      }
   }
}

inject config

auto inject vendor file by 'add-asset-html-webpack-plugin' plugin

module.exports = {
  // Other options...

  pluginOptions: {
      dll: {
        entry: ['vue'],
        // If you manually quote vendor file in 'index.html' file 
        inject: false
      }
   }
}

publish

npm publish --access public