vite-fix-syntax
v0.1.2
Published
转换 webpack 中使用 require 引入资源方式,补全 import 引入 vue 文件路径,使其在 webpack 和 vite 中都可以运行。
Maintainers
Readme
vite-fix-syntax
该插件主要解决的是 vue-cli 项目迁移到 vite 中部分语法的转换,使之在 webpack 和 vite 中都可以运行。
目前特性:
- require 语法转换
- import 引入 vue 文件的路径补全
效果
同步语法
// 转换前
import demo from '@/components/demo'
// 转换后(文件真实路径,.vue || /index.vue)
// import demo from '@/components/demo/index.vue'
import demo from '@/components/demo.vue'异步语法
// 转换前
const demo = () => import('@/components/demo')
// 转换后(文件真实路径,.vue || /index.vue)
// const demo = () => import('@/components/demo/index.vue')
const demo = () => import('@/components/demo.vue')引入资源
// 转换前
const svg = require('@/assets/name.svg')
// 转换后
import name from '@/assets/name.svg' // 提升至顶层
const svg = nameinstall
npm i vite-fix-syntax -goptions
fixAll
- Type:
boolean - Default:
false - Desc:
是否执行所有修复命令
- Type:
fixPath
- Type:
boolean - Default:
false - Desc:
是否补全路径
- Type:
fixRequire
- Type:
boolean - Default:
false - Desc:
是否修复 require 语法
- Type:
config
- Type:
string - Default:
syntax-replace.js - Desc:
配置文件名
- Type:
config
alias
- Type:
object - Default:
{} - Description:
项目中自定义的别名,需要根据他来推测真实路径
- Type:
globOptions
- Type:
object - Default:
{ patterns: 'src/**/*.{js,jsx,vue}', options: { ignore: ['node_modules'], onlyFiles: true } } - Description:
匹配文件选项,基于fast-glob - Link: fast-glob
- Type:
示例
const path = require('path')
module.exports = {
alias: {
'@': path.resolve('src')
},
globOptions: {
patterns: 'src/**/*.{js,jsx,vue}',
options: { ignore: ['**/a.js'] }
}
}example
修复路径
// 进入项目根目录
cd my-project
vite-fix-syntax --fixPath修复 require
cd my-project
vite-fix-syntax --fixRequire全部修复
cd my-project
vite-fix-syntax --fixAll指定自定义配置文件
cd my-project
vite-fix-syntax --fixAll --config my-syntax-replace.js