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

三网合一网站怎么做网络完全公司排名

三网合一网站怎么做,网络完全公司排名,宁波网站优化公司电话,平面设计公司怎么找客户新建项目步骤略过 1、下载scss 无需任何配置就可以直接使用scss了 pnpm install sass使用scss配置全局颜色变量 新建/src/styles/variable.scss并在 $primary: #76aef9在vite.cinfig.js里配置 export default defineConfig({css: {preprocessorOptions: {scss: {javascrip…新建项目步骤略过 1、下载scss 无需任何配置就可以直接使用scss了 pnpm install sass使用scss配置全局颜色变量 新建/src/styles/variable.scss并在 $primary: #76aef9在vite.cinfig.js里配置 export default defineConfig({css: {preprocessorOptions: {scss: {javascriptEnabled: true,additionalData: import ./src/styles/variable.scss;,},},}, });在组件里使用颜色变量 h1 {color: $primary }2、配置/路径为/src 下载types/node模块用于引入path模块 pnpm install types/node在vite.cinfig.js里配置 import path from path export default defineConfig({resolve: {alias:{: path.resolve(__dirname, ./src) //设置路径别名需要引用/src下面的文件时只需要在前面添加即可},extensions: [.js, .ts, .json, .tsx] // 导入时想要省略的扩展名列表}, })3、重置样式 如果存在index.css建议删除该文件以及文件引入 新建/src/styles/reset.scss并在main.tsx中引入 import /styles/reset.scsshtml, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block; } body {line-height: 1; } ol, ul {list-style: none; } blockquote, q {quotes: none; } blockquote:before, blockquote:after, q:before, q:after {content: ;content: none; } table {border-collapse: collapse;border-spacing: 0; }4、配置eslint pnpm i eslit -D npx eslint --init安装eslint相关插件 pnpm install -D eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin-node babel/eslint-parser修改.eslintrc.cjs文件 module.exports {env: {browser: true,es2021: true,node: true,jest: true,},/* 指定如何解析语法 */parser: vue-eslint-parser,/** 优先级低于 parse 的语法解析配置 */parserOptions: {ecmaVersion: latest,sourceType: module,parser: typescript-eslint/parser,jsxPragma: React,ecmaFeatures: {jsx: true,},},/* 继承已有的规则 */extends: [eslint:recommended,plugin:vue/vue3-essential,plugin:typescript-eslint/recommended,plugin:prettier/recommended,],plugins: [vue, typescript-eslint],/** off 或 0 关闭规则* warn 或 1 打开的规则作为警告不影响代码执行* error 或 2 规则作为一个错误代码不能执行界面报错*/rules: {// eslinthttps://eslint.bootcss.com/docs/rules/no-var: error, // 要求使用 let 或 const 而不是 varno-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 (https://typescript-eslint.io/rules)typescript-eslint/no-unused-vars: error, // 禁止定义未使用的变量typescript-eslint/prefer-ts-expect-error: error, // 禁止使用 ts-ignoretypescript-eslint/no-explicit-any: off, // 禁止使用 any 类型typescript-eslint/no-non-null-assertion: off,typescript-eslint/no-namespace: off, // 禁止使用自定义 TypeScript 模块和命名空间。typescript-eslint/semi: off,// eslint-plugin-vue (https://eslint.vuejs.org/rules/)vue/multi-word-component-names: off, // 要求组件名称始终为 “-” 链接的单词vue/script-setup-uses-vars: error, // 防止script setup使用的变量template被标记为未使用vue/no-mutating-props: off, // 不允许组件 prop的改变vue/attribute-hyphenation: off, // 对模板中的自定义组件强制执行属性命名样式}, };添加.eslintignore文件并写入内容 dist node_modules运行脚本package.json里新增两个运行脚本 scripts: {lint: eslint src,fix: eslint src --fix},5、配置默认缩进4个空格 新建.editorconfig文件并写入如下内容 # EditorConfig is awesome: https://EditorConfig.org# top-most EditorConfig file root true# Set default charset [*] charset utf-8 indent_style space indent_size 4 end_of_line lf insert_final_newline true trim_trailing_whitespace true# Match JavaScript files [*.js] indent_size 4# Match TypeScript files [*.ts] indent_size 4# Match Vue files [*.vue] indent_size 46、自动格式化Eslint校验 新建.vscode文件夹文件夹里放settings.json并写入如下内容 {editor.codeActionsOnSave: {source.fixAll.eslint: true} }7、配置prettier pnpm install -D eslint-plugin-prettier prettier eslint-config-prettier新建.prettierrc.json并写入如下内容 {singleQuote: true,semi: false,bracketSpacing: true,htmlWhitespaceSensitivity: ignore,endOfLine: auto,trailingComma: all,tabWidth: 4 }新建.prettierignore并写入如下内容 /dist/* /html/* .local /node_modules/** **/*.svg **/*.sh /public/* 8、配置styleLint pnpm add sass sass-loader stylelint postcss postcss-scss postcss-html stylelint-config-prettier stylelint-config-recess-order stylelint-config-recommended-scss stylelint-config-standard stylelint-config-standard-vue stylelint-scss stylelint-order stylelint-config-standard-scss -D新建.stylelintrc.cjs并写入如下内容 // see https://stylelint.bootcss.com/module.exports {extends: [stylelint-config-standard, // 配置stylelint拓展插件stylelint-config-html/vue, // 配置 vue 中 template 样式格式化stylelint-config-standard-scss, // 配置stylelint scss插件stylelint-config-recommended-vue/scss, // 配置 vue 中 scss 样式格式化stylelint-config-recess-order, // 配置stylelint css属性书写顺序插件,stylelint-config-prettier, // 配置stylelint和prettier兼容],overrides: [{files: [**/*.(scss|css|vue|html)],customSyntax: postcss-scss,},{files: [**/*.(html|vue)],customSyntax: postcss-html,},],ignoreFiles: [**/*.js,**/*.jsx,**/*.tsx,**/*.ts,**/*.json,**/*.md,**/*.yaml,],/*** null 关闭该规则* always 必须*/rules: {value-keyword-case: null, // 在 css 中使用 v-bind不报错no-descending-specificity: null, // 禁止在具有较高优先级的选择器后出现被其覆盖的较低优先级的选择器function-url-quotes: always, // 要求或禁止 URL 的引号 always(必须加上引号)|never(没有引号)no-empty-source: null, // 关闭禁止空源码selector-class-pattern: null, // 关闭强制选择器类名的格式property-no-unknown: null, // 禁止未知的属性(true 为不允许)block-opening-brace-space-before: always, //大括号之前必须有一个空格或不能有空白符value-no-vendor-prefix: null, // 关闭 属性值前缀 --webkit-boxproperty-no-vendor-prefix: null, // 关闭 属性前缀 -webkit-maskselector-pseudo-class-no-unknown: [// 不允许未知的选择器true,{ignorePseudoClasses: [global, v-deep, deep], // 忽略属性修改element默认样式的时候能使用到},],}, }新建.stylelintignore并写入内容 /node_modules/* /dist/* /html/* /public/*在package.json里添加 其中 format 为格式化所有文件里的样式等 scripts: {format: prettier --write \./**/*.{html,vue,ts,js,json,md}\,lint:eslint: eslint src/**/*.{ts,vue} --cache --fix,lint:style: stylelint src/**/*.{css,scss,vue} --cache --fix}, 9、配置husky 在上面我们已经集成好了我们代码校验工具但是需要每次手动的去执行命令才会格式化我们的代码。如果有人没有格式化就提交了远程仓库中那这个规范就没什么用。所以我们需要强制让开发人员按照代码规范来提交。 要做到这件事情就需要利用husky在代码提交之前触发git hook(git在客户端的钩子)然后执行pnpm run format来自动的格式化我们的代码。 pnpm install -D huskynpx husky-init10、强制使用pnpm包管理器工具 团队开发项目的时候需要统一包管理器工具,因为不同包管理器工具下载同一个依赖,可能版本不一样, 导致项目出现bug问题,因此包管理器工具需要统一管理 在根目录创建scritps/preinstall.js文件添加下面的内容 if (!/pnpm/.test(process.env.npm_execpath || )) {console.warn(\u001b[33mThis repository must using pnpm as the package manager for scripts to work properly.\u001b[39m\n,)process.exit(1) }package.json里配置命令 scripts: {preinstall: node ./scripts/preinstall.js }11、引入antd pnpm install antd --save由于antd默认是英文所以我们要把他改成中文配置国际化 main.tsx import zhCN from antd/locale/zh_CN import { ConfigProvider } from antdReactDOM.createRoot(document.getElementById(root)!).render(React.StrictModeConfigProvider locale{zhCN}App //ConfigProvider/React.StrictMode, )// 主题配置待会写 12、SVG图标配置 配置完成之后使用组件就会自动查找/src/assets/icons路径下name为文件名的svg文件 pnpm install vite-plugin-svg-icons -D在vite.config.ts中配置插件 import { createSvgIconsPlugin } from vite-plugin-svg-icons export default defineConfig({plugins: [react(),createSvgIconsPlugin({// Specify the icon folder to be cachediconDirs: [path.resolve(process.cwd(), src/assets/icons)],// Specify symbolId formatsymbolId: icon-[dir]-[name],}),], })main.tsx引入 import virtual:svg-icons-register封装svg组件暂不封装全局组件别问问就是不会还没空了解 src/components/SvgIcon/index.tsx: interface SvgIconProps {prefix?: string | undefinedname: stringcolor?: string | undefinedwidth?: string | undefinedheight?: string | undefined } const SvgIcon ({prefix #icon-,name,color ,width 16px,height 16px, }: SvgIconProps) {return (svg style{{ width, height }}use xlinkHref{prefix name} fill{color}/use/svg) } export default SvgIcon使用(待更新全局组件) // 不使用/导入是因为/导入会报ts类型错误待解决 import SvgIcon from ./components/SvgIcon/index const App () (div classNameAppSvgIcon namereact colororange width100px height100px //div )export default App
http://www.w-s-a.com/news/142346/

相关文章:

  • 做物流的可以在那些网站找客户男生晚上正能量你懂我意思
  • 宁德市城乡住房建设厅网站教育机构logo
  • 做定制网站价格有网站了怎么做app
  • 做网站和制作网页的区别北京朝阳区最好的小区
  • 网站策划 ppt北京装修公司排名推荐
  • 郑州网站建设公司哪家专业好如何注册一家公司
  • 证券投资网站做哪些内容滨州论坛网站建设
  • 重庆网站建设公司模板广东佛山
  • 中展建设股份有限公司网站做网站备案是什么意思
  • 石家庄网站建设接单wordpress功能小工具
  • 有没有专门做网站的网站镜像上传到域名空间
  • 网站建设中 windows买域名自己做网站
  • 设计英语宁波seo做排名
  • 奉贤网站建设上海站霸深圳几个区
  • c#做网站自已建网站
  • 成都地区网站建设网站设计类型
  • 如何做网站结构优化北京响应式网站
  • 出售源码的网站威海住房建设局网站
  • 网站建设补充报价单网站建设 技术指标
  • 做网站费用分摊入什么科目做网络网站需要三证么
  • 房屋备案查询系统官网杭州排名优化软件
  • 网站地图html网络营销的流程和方法
  • 注册好网站以后怎么做wordpress 获取插件目录下
  • 南京做网站dmooo地方网站需要什么手续
  • 网站开发合同有效期omeka wordpress对比
  • 杭州设计网站的公司广州网站改版领军企业
  • 网站备案系统苏州网站设计网站开发公司
  • 怎么样做微网站著名企业vi设计
  • 三分钟做网站网页设计心得体会100字
  • 网站建设支付宝seo建站是什么