vue3 项目创建
使用 vue 创建项目
npm create vue@latest
基础配置
- 配置IP和localhost打开项目,修改'package.json'文件下的
scripts
配置
- --host 0.0.0.0 显示ip地址可以打开项目
- --open 启动项目,在浏览器中自动打开
"scripts": {
"dev": "vite --host 0.0.0.0 --open",
},
- 配置端口号,在‘vite.config.js’文件下,新增server配置
export default defineConfig({
plugins: [
vue(),
vueJsx(),
],
server: {
port: 3000,
},
})
- 启用'eslintrc'自动格式化代码,在‘.eslintrc.cjs’文件中,新增或修改
module.exports = {
root: true,
extends: [
'plugin:vue/vue3-essential',
'eslint:recommended',
'@vue/eslint-config-prettier/skip-formatting',
'@vue/eslint-config-prettier'
],
parserOptions: {
ecmaVersion: 'latest'
},
rules: {
'prettier/prettier': ['error', { endOfLine: 'auto' }],
'no-var': 'error',
'no-multiple-empty-lines': ['warn', { max: 1 }],
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-unexpected-multiline': 'error',
'no-useless-escape': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/prefer-ts-expect-error': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-namespace': 'off',
'@typescript-eslint/semi': 'off',
'vue/multi-word-component-names': 'off',
'vue/script-setup-uses-vars': 'error',
'vue/no-mutating-props': 'off',
'vue/attribute-hyphenation': 'off'
}
}
单位适配
单位 (vw, vh, vmin, vmax)
- 安装插件
npm i postcss-px-to-viewport-8-plugin -D
- 新建一个单位转换的配置位置
pxChangeVh.js
import pptv from 'postcss-px-to-viewport-8-plugin'
const loder_pxtovw = pptv({
unitToConvert: 'px',
viewportWidth: 1536,
viewportHeight: 2048,
unitPrecision: 6,
propList: ['*'],
viewportUnit: 'vw',
fontViewportUnit: 'vw',
selectorBlackList: ['.ignore-'],
mediaQuery: false,
minPixelValue: 1,
replace: true,
exclude: [],
landscape: false,
landscapeUnit: 'vw',
landscapeWidth: 1536,
})
export default loder_pxtovw
- 在
vite.config.js
文件中使用
import loder_pxtovw from './pxChangeVh'
export default defineConfig({
plugins: [
...
],
css: {
postcss: {
plugins: [loder_pxtovw],
},
},
})
rem
- 安装
lib-flexible
和postcss-pxtorem
- 命令
npm i -S amfe-flexible
npm install postcss postcss-pxtorem --save-dev
- 在跟目录添加
.postcssrc.cjs
文件,配置如下
module.exports = {
plugins: {
'postcss-pxtorem': {
rootValue({ file }) {
return file.indexOf('vant') !== -1 ? 37.5 : 75;
},
propList: ['*'],
},
},
};
- 配置移动端mete标签
import 'amfe-flexible'
- 配置移动端mete标签
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover"/>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通