当前位置: 首页 > news >正文

win2012 iis配置网站全面了解网站开发

win2012 iis配置网站,全面了解网站开发,房地产开发商,网站开发直播软件Vue3、Vite5、Oxlint、Husky9 简单搭建最新的Web项目模板 特色进入正题创建基础模板配置API自动化导入配置组件自动化导入配置UnoCss接入Primevue接入VueRouter4配置项目全局环境变量 封装Axios接入Pinia状态管理接入Prerttier OXLint ESLint接入 husky lint-staged#xf… Vue3、Vite5、Oxlint、Husky9 简单搭建最新的Web项目模板 特色进入正题创建基础模板配置API自动化导入配置组件自动化导入配置UnoCss接入Primevue接入VueRouter4配置项目全局环境变量 封装Axios接入Pinia状态管理接入Prerttier OXLint ESLint接入 husky lint-staged可选接入commitizen commitlint cz-git可选测试 模板样例敬请期待 无人扶我青云志我自踏雪至山巅 作者GitHubhttps://github.com/gitboyzcf 有兴趣可关注 特色 ⚡️ Vue 3、 Vite 5、pnpm 组件自动化引入 使用 Pinia 的状态管理 Primevue - Vue.js UI 套件提高开发效率 UnoCSS - 高性能且极具灵活性的即时原子化 CSS 引擎 各种图标集为你所用 使用 新的 script setup 语法 API 自动加载 - 直接使用 Composition API 无需引入 API 采用模块化自动导入方式 根据demo.js文件设置接口以API_xxx_method的方式命名在请求时无需导入 直接使用useRequest()函数返回参数以解构的方式获取拿到即为写入的接口 Oxlint英 ESLint英 - 双管齐下享受高速度、强检查的代码格式化效果 husky lint-staged - Git提交自动检测格式化代码解放双手 无TS释放你的野性 进入正题 node版本必须是 18.18.0 创建基础模板 pnpm create vite my-vue-app --template vue详细请看➡️https://cn.vitejs.dev/guide/#scaffolding-your-first-vite-project 得到以下目录结构⬇️ 配置API自动化导入 安装依赖 pnpm i unplugin-auto-import -D在vite.config.js中配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import AutoImport from unplugin-auto-import/vite// https://vite.dev/config/ export default defineConfig({plugins: [vue(),AutoImport({imports: [vue,vue-router,pinia,vueuse/core,// 自动导入 自定义函数// {// /api: [useRequest]// },],eslintrc: {enabled: true, // Default false 启动项目后 会在根目录下生成 eslintrc-auto-import.json文件 生成后可改为false 避免每次生成 慢 filepath: ./.eslintrc-auto-import.json, // Default ./.eslintrc-auto-import.jsonglobalsPropValue: true // Default true, (true | false | readonly | readable | writable | writeable)}}),], }) 此时在App.vue中不用引入直接可以使用Vue的api script setupconst title ref(Hello World!) /script配置组件自动化导入 安装依赖 pnpm i unplugin-vue-components -D在vite.config.js中配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import Components from unplugin-vue-components/vite// https://vite.dev/config/ export default defineConfig({plugins: [vue(),Components({dirs: [src/components],dts: false,resolvers: [],include: [/\.vue$/, /\.vue\?vue/, /\.jsx$/]}),], }) src/components下新建 的组件 此时在App.vue中不用引入直接可以使用 templatedivHelloWorld msgHello Vue 3.0 Vite //div /templatescript setup/script配置UnoCss 安装依赖 pnpm i unocss -D直接插入以下代码⬇️没有对应文件的自行创建 unocss.config.js import {defineConfig,presetAttributify,presetIcons,presetTypography,presetUno,presetWebFonts,transformerDirectives,transformerVariantGroup } from unocss// https://unocss.dev/guide/config-file export default defineConfig({shortcuts: [// ...],theme: {colors: {// ...}},presets: [presetUno(),presetAttributify(),presetIcons(),presetTypography(),presetWebFonts({fonts: {// ...}})],transformers: [transformerDirectives(), transformerVariantGroup()] })在main.js中引入样式 import { createApp } from vue import App from ./App.vueimport ./style.css import virtual:uno.cssasync function bootstrap() {const app createApp(App)app.mount(#app) } bootstrap()在vite.config.js中配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import Unocss from unocss/vite// https://vite.dev/config/ export default defineConfig({plugins: [vue(),// ...Unocss({}),// ...], }) 接入Primevue 安装依赖 pnpm add primevue primevue/themes在main.js中配置 import { createApp } from vue import App from ./App.vue import PrimeVue from primevue/config // import Nora from primevue/themes/nora // import ./style.css import virtual:uno.cssasync function bootstrap() {const app createApp(App)// app.use(PrimeVue, { theme: {preset: Nora}})app.mount(#app) } bootstrap()在vite.config.js中配置组件自动导入 import { defineConfig } from vite import vue from vitejs/plugin-vue import Components from unplugin-vue-components/vite import { PrimeVueResolver } from primevue/auto-import-resolver // // https://vite.dev/config/ export default defineConfig({plugins: [vue(),Components({dirs: [src/components],dts: false,resolvers: [PrimeVueResolver()], // include: [/\.vue$/, /\.vue\?vue/, /\.jsx$/]}),], })此时在App.vue中不用引入直接可以使用 !-- https://primevue.org/button/#severity -- div classcard flex justify-center flex-wrap gap-4Button labelPrimary /Button labelSecondary severitysecondary /Button labelSuccess severitysuccess /Button labelInfo severityinfo /Button labelWarn severitywarn /Button labelHelp severityhelp /Button labelDanger severitydanger /Button labelContrast severitycontrast / /div更多组件请看➡️ https://primevue.org/button/ 接入VueRouter4 https://router.vuejs.org/zh/ 安装依赖 pnpm i vue-router4创建以下文件夹以及文件 直接插入以下代码⬇️ helper.js /*** 设置页面标题* param {Object} to 路由对象*/ export const usePageTitle (to) {const projectTitle import.meta.env.VITE_APP_TITLEconst rawTitle normalizeTitle(to.meta.title)const title useTitle()title.value rawTitle ? ${projectTitle} | ${rawTitle} : projectTitlefunction normalizeTitle(raw) {return typeof raw function ? raw() : raw} }index.js import { createRouter, createWebHashHistory } from vue-router import { usePageTitle } from ./helper// const whiteList [/login] // 白名单 const router createRouter({history: createWebHashHistory(import.meta.env.BASE_URL),routes: [{path: /,name: Test,// 注意 此组件自行创建引入component: () import(/views/demo/index.vue),meta: {title: 测试}},{path: /:pathMatch(.*)*,// 注意 此组件自行创建引入component: () import(/views/system/404/404.vue),meta: {title: 找不到页面}}] })router.beforeEach((to, from, next) {usePageTitle(to)next() })async function setupRouter(app) {app.use(router) }export { setupRouter }配置项目全局环境变量 具体请看 ➡️https://vite.dev/guide/env-and-mode.html#env-files .env # 生产环境# 页面名称 VITE_APP_TITLE 演示项目# 项目localStorage存储前缀 VITE_APP_PREFIX demo# 网络请求 -- 根据项目需求更改 下面⬇️配置axios需要用到 VITE_APP_API_BASEURL /.env.development # 本地环境开发环境# 页面名称 VITE_APP_TITLE 演示项目# 项目localStorage存储前缀 VITE_APP_PREFIX demo# 网络请求 -- 根据项目需求更改 下面⬇️配置axios需要用到 VITE_APP_API_BASEURL / 在main.js中引入 import { createApp } from vue import App from ./App.vue import PrimeVue from primevue/config import Nora from primevue/themes/nora import { setupRouter } from ./router // import ./style.css import virtual:uno.cssasync function bootstrap() {const app createApp(App)app.use(PrimeVue, {theme: {preset: Nora}})await setupRouter(app) // app.mount(#app) } bootstrap()封装Axios Vite4、Vue3、Axios 针对请求模块化封装搭配自动化导入简单易用 接入Pinia状态管理 安装依赖 pnpm i pinia创建以下文件夹以及文件 直接插入以下代码⬇️ index.js import { createPinia } from pinia export const piniaStore createPinia() export function setupStore(app) {app.use(piniaStore) }demo.js import { piniaStore } from /stores export const useCounterStore defineStore(counter, () {const count ref(0)const doubleCount computed(() count.value * 2)function increment() {count.value}return { count, doubleCount, increment } })export function useOutsideCounterStore() {return useCounterStore(piniaStore) }接入Prerttier OXLint ESLint 安装依赖 pnpm i oxlint prettier eslint-plugin-oxlint eslint-plugin-prettier -D安装并配置ESLint pnpm create eslint/configlatest根据响应提示选择以下是我的选择⬇️ 执行完后会自动创建eslint.config.js配置文件以及对应依赖包 直接插入以下代码⬇️没有对应文件的自行创建 eslint.config.js import path from path import globals from globals import pluginJs from eslint/js import pluginVue from eslint-plugin-vue import VueEslintParser from vue-eslint-parser import prettier from eslint-plugin-prettier import oxlint from eslint-plugin-oxlint import { FlatCompat } from eslint/eslintrc import { fileURLToPath } from urlconst __filename fileURLToPath(import.meta.url) const __dirname path.dirname(__filename)const compat new FlatCompat({baseDirectory: __dirname })/** type {import(eslint).Linter.Config[]} */ export default [{files: [**/*.{js,mjs,cjs,vue}]},{languageOptions: {globals: {...globals.browser,...globals.node},parser: VueEslintParser}},/** js推荐配置 */pluginJs.configs.recommended,/** vue推荐配置 */...pluginVue.configs[flat/essential],/** 继承自动导入配置 */...compat.extends(./.eslintrc-auto-import.json),/** oxlint推荐配置 */oxlint.configs[flat/recommended],/** 自定义eslint配置 */{rules: {no-var: error, // 要求使用 let 或 const 而不是 varno-multiple-empty-lines: [warn, { max: 1 }], // 不允许多个空行no-unexpected-multiline: error, // 禁止空余的多行no-useless-escape: off, // 禁止不必要的转义字符vue/multi-word-component-names: 0}},/*** prettier 配置* 会合并根目录下的prettier.config.js 文件* see https://prettier.io/docs/en/options* https://github.com/prettier/eslint-plugin-prettier/issues/634*/{plugins: {prettier},rules: {...prettier.configs.recommended.rules}},// 忽略文件{ignores: [**/dist,./src/main.ts,.vscode,.idea,*.sh,**/node_modules,*.md,*.woff,*.woff,*.ttf,yarn.lock,package-lock.json,/public,/docs,**/output,.husky,.local,/bin,Dockerfile]} ]prettier.config.js export default {// 一行的字符数如果超过会进行换行默认为80官方建议设100-120其中一个数printWidth: 100,// 一个tab代表几个空格数默认就是2tabWidth: 2,// 启用tab取代空格符缩进默认为falseuseTabs: false,// 行尾是否使用分号默认为true(添加理由:更加容易复制添加数据,不用去管理尾行)semi: false,vueIndentScriptAndStyle: true,// 字符串是否使用单引号默认为false即使用双引号建议设true即单引号singleQuote: true,// 给对象里的属性名是否要加上引号默认为as-needed即根据需要决定如果不加引号会报错则加否则不加quoteProps: as-needed,// 是否使用尾逗号有三个可选值none|es5|alltrailingComma: none,// 在jsx里是否使用单引号你看着办jsxSingleQuote: true,// 对象大括号直接是否有空格默认为true效果{ foo: bar }bracketSpacing: true,proseWrap: never,htmlWhitespaceSensitivity: strict,endOfLine: auto }.editorconfig # 顶层editorconfig文件标识 root true########## 针对所有文件适用的规则 ########## [*] # 编码格式 charset utf-8 # 缩进符使用的风格 tab space indent_style space # 缩进大小 indent_size 2 # 控制换行类型(lf | cr | crlf) end_of_line lf # 文件最后添加空行 insert_final_newline true # 行开始是不是清除空格 trim_trailing_whitespace true############# 针对md的规则 ############### [*.md] trim_trailing_whitespace false配置package.json文件 scripts: {dev: vite --host,build: vite build,preview: vite preview,lint: oxlint eslint, lint:fix: oxlint --fix eslint --fix },此时终端中执行 pnpm lint 或者 pnpm lint:fix 就会检测并修复代码 检测结果以 oxlint形式展现⬇️ 接入 husky lint-staged可选 安装依赖 pnpm i husky lint-staged -D执行 pnpm exec husky init 并且在 package.json的 scripts里面增加 prepare: husky init,其他人安装后会自动执行 根目录会生成 .hushy 文件夹。 直接插入以下代码⬇️没有对应文件的自行创建 lint-staged.config.js export default {**/*.{html,vue,ts,cjs,json,md}: [prettier --write],**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx,vue,astro,svelte}: [oxlint --fix eslint --fix] }通过下面命令在钩子文件中添加内容⬇️ echo npx --no-install -- lint-staged .husky/pre-commit echo npx --no-install commitlint --edit $1 .husky/commit-msg注意⚠️⚠️⚠️ 上面命令钩子不会执行 当进行git提交时会出现下面问题⬇️ 说是无法执行这个二进制文件 解决方案如下⬇️ 在vscode编辑器底部操作栏 会显示当前文件编码格式 默认为➡️ 点击后选择 然后再次执行git提交命令就可以了 接入commitizen commitlint cz-git可选 安装依赖 pnpm i commitizen commitlint commitlint/cli commitlint/config-conventional cz-git -Dcommitizen 基于Node.js的 git commit 命令行工具辅助生成标准化规范化的 commit message committlint 检查你的提交消息是否符合常规的提交格式。 cz-git 标准输出格式的 commitizen 适配器 直接插入以下代码⬇️没有对应文件的自行创建 commitlint.config.js /** type { import(cz-git).UserConfig } */ export default {extends: [commitlint/config-conventional],rules: {type-enum: [2,always,[feat,fix,perf,style,docs,test,refactor,build,ci,init,chore,revert,wip,workflow,types,release]],subject-case: [0]},prompt: {alias: { fd: docs: fix typos },messages: {type: 选择你要提交的类型 :,scope: 选择一个提交范围可选:,customScope: 请输入自定义的提交范围 :,subject: 填写简短精炼的变更描述 :\n,body: 填写更加详细的变更描述可选。使用 | 换行 :\n,breaking: 列举非兼容性重大的变更可选。使用 | 换行 :\n,footerPrefixesSelect: 选择关联issue前缀可选:,customFooterPrefix: 输入自定义issue前缀 :,footer: 列举关联issue (可选) 例如: #31, #I3244 :\n,confirmCommit: 是否提交或修改commit ?},types: [{ value: feat, name: feat: 新增功能 | A new feature, emoji: :sparkles: },{ value: fix, name: fix: 修复缺陷 | A bug fix, emoji: :bug: },{ value: docs, name: docs: 文档更新 | Documentation only changes, emoji: :memo: },{value: style,name: style: 代码格式 | Changes that do not affect the meaning of the code,emoji: :lipstick:},{value: refactor,name: refactor: ♻️ 代码重构 | A code change that neither fixes a bug nor adds a feature,emoji: :recycle:},{value: perf,name: perf: ⚡ 性能提升 | A code change that improves performance,emoji: :zap:},{value: test,name: test: ✅ 测试相关 | Adding missing tests or correcting existing tests,emoji: :white_check_mark:},{value: build,name: build: ️ 构建相关 | Changes that affect the build system or external dependencies,emoji: :package:},{value: ci,name: ci: 持续集成 | Changes to our CI configuration files and scripts,emoji: :ferris_wheel:},{ value: revert, name: revert: ⏪️ 回退代码 | Revert to a commit, emoji: :rewind: },{value: chore,name: chore: 其他修改 | Other changes that do not modify src or test files,emoji: :hammer:}],useEmoji: true,emojiAlign: center,useAI: false,aiNumber: 1,themeColorCode: ,scopes: [],allowCustomScopes: true,allowEmptyScopes: true,customScopesAlign: bottom,customScopesAlias: custom,emptyScopesAlias: empty,upperCaseSubject: false,markBreakingChangeMode: false,allowBreakingChanges: [feat, fix],breaklineNumber: 100,breaklineChar: |,skipQuestions: [],issuePrefixes: [// 如果使用 gitee 作为开发管理{ value: link, name: link: 链接 ISSUES 进行中 },{ value: closed, name: closed: 标记 ISSUES 已完成 }],customIssuePrefixAlign: top,emptyIssuePrefixAlias: skip,customIssuePrefixAlias: custom,allowCustomIssuePrefix: true,allowEmptyIssuePrefix: true,confirmColorize: true,scopeOverrides: undefined,defaultBody: ,defaultIssues: ,defaultScope: ,defaultSubject: } }配置package.json文件 scripts: {dev: vite --host,build: vite build,preview: vite preview,lint: oxlint eslint, lint:fix: oxlint --fix eslint --fix,cz: git-cz }, config: {commitizen: {path: node_modules/cz-git}}测试 在终端命令行中输入⬇️ git add .pnpm cz然后会出现本次git提交选项 根据需求选择 ctrl c 终止当前提交 Enter 下一步操作 模板 拉取后 开箱即用 模板地址➡️ https://github.com/gitboyzcf/vue3-vite-template 样例 此模板开发大屏模板样例➡️ https://github.com/gitboyzcf/vue3-simple-screen 敬请期待 后续还会有新功能接入当前模板敬请期待… 到这里就结束了后续还会更新 前端 系列相关还请持续关注 感谢阅读若有错误可以在下方评论区留言哦 推荐文章 Eslint 会被 Oxlint 干掉吗 uniapp-vue3-vite 搭建小程序、H5 项目模板
http://www.hkea.cn/news/14366147/

相关文章:

  • 如何用源码搭建网站新网站一直不被收录
  • 佛山百度网站排名优化试用体验网站
  • 烟台市最好的专业做网站的公司老薛主机wordpress
  • 常用的软件下载网站全网营销解决方案
  • seo对网站优化广州信科做网站
  • 肇庆企业做网站flash做网站步骤
  • 旅游管理网站业务模块什么网站可以做名片
  • 网站建设违法行为国外最牛设计网站
  • 深圳网站建设公司官网做原油看哪个网站
  • 网站建设与管理教学视频下载成都公司建网站
  • 优化网站是什么意思把自己的电脑做网站服务器
  • 菠菜源码怎么做网站常德市建设工程造价信息网
  • 网站开发培训价格广州网站建设 推广公司哪家好
  • 网站设计素材图片wordpress建英文网站
  • wordpress打开网站前广告便宜 虚拟主机
  • 宁波网站推广联系方式做网站建设销售员准备什么
  • 如何做全景素材网站如何在外管局网站上做延期
  • 智慧校园登录入口盐城网站优化
  • 门户网站是什么世界500强企业第一名是哪个公司
  • 什么2007做视频网站wordpress支付功能
  • 湖南网站营销seo多少费用建网站程序工具
  • 安徽seo网站随州做网站
  • 湿地保护宣教网站建设意义如何高效建设品牌网站
  • 一级a做片免费网站移动吉生活app下载
  • 做软件去哪个网站app软件定制平台
  • 服装销售 网站建设论文建设什么网站挣钱
  • 榆次小学网站建设网站搭建代码大全
  • 家里的电脑怎样做网站赚钱深圳seo公司排名
  • 做网站推广业务怎么样群晖 wordpress配置
  • 怎么形容网站做的好河北城乡住房建设厅网站