Generating module entities for your Vue.js store is repetitive and verbose. This packages lets you create one or multiple entities at once including the state, mutations, actions, getters, the module itself and even the store. You can also create nested entities.
Warning: At the moment, it does not work with Yarn.
- Multiple entities
- nested entities
- includes all Vuex elements
$ npm install vuex-cli-scaffold --save-dev
By default, this package assumes that you'll have your modules stored at src/store/modules
and the store itself at
src/store/index.js
. To change the modules directory, simply append modules=path
where path
starts from your
applications root directory.
To create an entity, simply type this into the console.
$ npm run vuex-cli-scaffold product
This will create all necessary module files at src/store/modules
including the state, mutations, actions, getters and
the module.
To create multiple entities, type this into the console.
$ npm run vuex-cli-scaffold product shop basket
You can even create nested entities.
$ npm run vuex-cli-scaffold shop shop/products shop/products/product
Important: When you creating nested entities, you have to manually set the modules value in the parent modules. In
our case, you would need to set the modules for all entities, unless you're using -new
, which is explained below.
If you start from zero, you can create a store next to other entities.
$ npm run vuex-cli-scaffold shop shop/products shop/products/product -new
All root entities will be added to the store. In our case the only root entity is shop
.
Julian Claus and contributors.
MIT