🔨Give some vue files ,find reference and add .vue
suffix;(Useful for some project migrate to vite
from webpack
)
English | 中文
npm i -D add-vue-suffix
or
yarn add add-vue-suffix -D
npx add-vue-suffix --resolveConifg ./path/to/resolve-config.js
or
{
"scripts": {
"add-vue-suffix": "add-vue-suffix --resolveConifg ./path/to/resolve-config.js"
}
}
resolveConifg
is a path to aenhanced-resolve
config file;- Because
webpack
useenhanced-resolve
underhood,so you just point to awebpack config
that containresolve
property. - etc
// webpack.config.js
module.exports={
input:'./src/index.js',
...,
resolve:{
extensions: ['.js', '.vue', '.json'],
alias: {
'@': resolve('src'),
Api: resolve('src/api'),
Api2: resolve('src/api2'),
Assets: resolve('src/assets'),
Base: resolve('src/base'),
Config: resolve('src/config'),
Components: resolve('src/components'),
Directives: resolve('src/directives'),
Plugins: resolve('src/plugins'),
Routes: resolve('src/routes'),
Sass: resolve('src/sass'),
Services: resolve('src/services'),
Stores: resolve('src/stores'),
Utils: resolve('src/utils'),
Views: resolve('src/views')
}
}
- If you use
vue-cli
or other not emitwebpack config
cli,you can just create ajs
file that export a object that containresolve
property like above.
import addVueSuffix from 'add-vue-suffix'
addVueSuffix({
withAST = false, // add-vue-suffix use regexp to replace import/export/import() by default;If you got some error,set this to true,it will use babel to replace import/export/import();
patterns = ['src/**/*.vue', 'src/**/*.js'], // some file may be import vue file;search `vue` and `js` under `src` by default;
globbyOptions = {}, // custom globby options, it will override default globby options;
resolveConfig = {}, // https://www.npmjs.com/package/enhanced-resolve;https://webpack.js.org/configuration/resolve/#resolve
debug = false,// set true will not rewrite file;
})
Give a ⭐️ if this project helped you!
Copyright © 2021 BryanAdamss@foxmail.com.
This project is MIT licensed.
Thanks goes to these wonderful people (emoji key):
GuangHui 📆 |
This project follows the all-contributors specification. Contributions of any kind welcome!