【vue-cli搭建vue項目的過程2.x】

vue-cli搭建vue項目

  • vue-cli搭建vue項目
    • 安裝node
    • 安裝vue-cli腳手架并創建項目
    • 安裝 Ant Design Vue或element-ui(筆者使用Ant-design-vue組件,并全局引入)
    • 開發安裝三方庫包
      • 1、Package.json文件---引入如下package.json文件執行npm i或npm install命令即可下載如下依賴
      • 2、Vue.config.js文件
      • 3、.eslintrc.js文件---vue2老項目增加eslint配置代碼規范
        • (1)安裝以下eslint插件,并增加.eslintrc.js配置文件,.eslintignore配置忽略檢查的文件
        • (3)package.json相關代碼
        • (4) vscode的配置-----配置eslint、prettier插件(Extensions安裝);setting.json文件的配置(項目配置新建setting.json文件、或用戶配置則修改vscode平臺的setting);
        • (5)啟動項目
      • 4、.eslintignore忽略語法檢查
    • 報錯信息
      • 1、Uncaught runtime errors:通常由Vue 版本的不匹配引起的

vue-cli搭建vue項目

vue-cli文檔地址

安裝node

運行node -v與npm -v查看版本
國內兩種方式安裝第三方依賴:(1)安裝yarn后使用yarn安裝依賴
npm i -g yarn
npm install  xxx = yarn xxx
(2)修改鏡像后用npm 安裝第三方依賴//查看 當前鏡像
npm config get registry// 修改 鏡像文件
npm config set registry https://registry.npmmirror.com 

在這里插入圖片描述

安裝vue-cli腳手架并創建項目

npm install -g @vue/cli
# OR
yarn global add @vue/cli

在這里插入圖片描述
執行上述命令安裝完腳手架后,關閉命令行,在vue項目的文件夾目錄中重新打開cmd窗口新建vue項目(先查看vueCli版本后再新建,若版本不一致則卸載vuecli重新安裝,筆者如下版本, 選擇:鏡像安裝、2.x、npm)

// 查看vueCli版本
vue -V
// 新建vue項目-- 項目名稱不能駝峰命名,只能中劃線和小寫
vue create my-app

在這里插入圖片描述

安裝 Ant Design Vue或element-ui(筆者使用Ant-design-vue組件,并全局引入)

引入 ant-design-vue,參考文檔-快速上手
安裝Ant Design Vue(筆者使用的1x.antdv.com/docs/vue/getting-started-cn)
注意 antd.css 是針對Ant Design Vue 1.x 版本

npm install ant-design-vue --save
# OR
npm i --save ant-design-vue@next
# OR
npm i --save ant-design-vue

完整引入–main.js文件 (原文件中另外引入了 Antd的js和css以及 app.use(Antd))

import Vue from 'vue'
import App from './App.vue'
import Antd from 'ant-design-vue';
// 筆者引入antd.css 報錯  Error: Can't resolve 'ant-design-vue/dist/antd.css'
//import 'ant-design-vue/dist/antd.css';
// antd.css替換為  reset.css
import 'ant-design-vue/dist/reset.css';Vue.config.productionTip = false
Vue.use(Antd)new Vue({render: h => h(App),
}).$mount('#app')

npm run serve運行若報錯如下:Error: Can’t resolve ‘ant-design-vue/dist/antd.css’
解決方案:去當前項目的node_modules 下路徑 ‘ant-design-vue/dist’是否真的沒有 antd.css,則替換為本地存在的 reset.css;(類似 找不到文件錯誤就去實際地址看看是否真的沒有,若沒有則卸載后重裝指定版本,或替換為地址中其他文件)
注意 筆者的main.js文件(筆者創建的是2.x需匹配低版本的組件庫)如下:

import Vue from 'vue'
import App from './App.vue'
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';Vue.config.productionTip = false
Vue.use(Antd)new Vue({render: h => h(App),
}).$mount('#app')

package.json截圖如下
在這里插入圖片描述

安裝并引入 elementUI
引入elementUI,參考文檔–快速上手

npm i element-ui -S

完整引入–main.js文件 (原文件中另外引入了 elementUI的js和css以及Vue.use(ElementUI)😉

import Vue from 'vue';
import App from './App.vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);new Vue({el: '#app',render: h => h(App)
});

成功運行頁面如下:可以開始業務場景的開發啦(引入router等其他依賴)
在這里插入圖片描述

開發安裝三方庫包

安裝指定版本庫(npm install eslint@8.57.0 eslint-plugin-vue@9.25.0 babel-eslint@10.1.0 --save-dev
);新項目開發時需要用到echarts則引入;快速搭建基本vue項目可直接使用下方的package.json替換本地同名文件,執行npm i安裝package.json中的dependencies/devDependencies即可使用相關的組件庫,后續也可加入其他組件庫(npm install xxx --save-dev 或 npm install xxx --save兩者區別有興趣可以查查)

// eslint代碼規范
npm install eslint eslint-plugin-vue babel-eslint --save-dev
npm install @babel/eslint-parser --save-dev
npm install @vue/cli-plugin-eslint --save-dev
//css 
npm install less-loader --save-dev
npm install less --save-devnpm install echarts --save

1、Package.json文件—引入如下package.json文件執行npm i或npm install命令即可下載如下依賴

{"name": "xinlin-swyth-app-web2.0","version": "0.1.0","private": true,"scripts": {"serve": "vue-cli-service serve","build": "vue-cli-service build","lint": "vue-cli-service lint"},"main": ".eslintrc.js","dependencies": {"ant-design-vue": "^1.7.8","axios": "^1.7.1","core-js": "^3.8.3","crypto-js": "^4.2.0","echarts": "^5.5.0","js-cookie": "^3.0.5","vue": "^2.6.14","vue-router": "^3.5.1","vuex": "^3.6.2"},"devDependencies": {"@babel/eslint-parser": "^7.24.5","@vue/cli-plugin-babel": "~5.0.0","@vue/cli-plugin-eslint": "^5.0.8","@vue/cli-plugin-router": "~5.0.0","@vue/cli-plugin-vuex": "~5.0.0","@vue/cli-service": "~5.0.0","babel-eslint": "^10.1.0","eslint": "^9.3.0","eslint-plugin-vue": "^9.26.0","less": "^4.2.0","less-loader": "^12.2.0","sass": "^1.32.7","sass-loader": "^12.0.0","vue-template-compiler": "^2.6.14"},"browserslist": ["> 1%","last 2 versions","not dead"]
}

2、Vue.config.js文件

const { defineConfig } = require("@vue/cli-service")
const path = require("path")
const webpack = require("webpack")function resolve(dir) {return path.join(__dirname, dir)
}module.exports = defineConfig({lintOnSave: false,transpileDependencies: true,publicPath: "/",configureWebpack: (config) => {config.devtool = "source-map"Object.assign(config.resolve, {alias: {"@": resolve("src"),},})// 不打包md文件config.module.rules.push({test: /\.md$/i,loader: "file-loader",options: {emitFile: false,},})config.module.rules.push({test: /\.mjs$/,include: /node_modules/,type: "javascript/auto",})// Ignore all locale files of moment.js// config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)) // 當前不支持該格式config.plugins.push(new webpack.IgnorePlugin({resourceRegExp: /^\.\/locale$/,contextRegExp: /moment$/,}),)// config.plugins.push(createThemeColorReplacerPlugin())config.plugins.push(new webpack.ProvidePlugin({$: "jquery",jQuery: "jquery","windows.jQuery": "jquery",}),)},
})

3、.eslintrc.js文件—vue2老項目增加eslint配置代碼規范

過程如下:

(1)安裝以下eslint插件,并增加.eslintrc.js配置文件,.eslintignore配置忽略檢查的文件

1、 eslint用于檢查和標示出ECMAScript/JavaScript代碼規范問題工具
2、 @babel/eslint-parser簡而言之就是一個解析器,允許您使用ESLint對所有有效的Babel代碼進行檢查。ESLint允許使用自定義解析器,當使用此插件時,代碼會被Babel解析器解析,并且生成的AST被轉換成一個ESLint可以理解的符合ESTree的結構,所有的位置信息如行列也會保留,因此可以輕松的追蹤錯誤
3、 eslint-plugin-vue Vue.js的官方ESLint插件,即使用eslint檢查.vue文件的template和script
4、 eslint-config-prettier或者@vue/eslint-config-prettier [筆者未安裝]
當prettier與eslint有些規則沖突時,使用prettier的規則進行覆蓋
其中@vue/cli-plugin-eslint是特別為@vue/cli&create vue setups使用而設計的
5、 @vue/cli-plugin-eslint vue-cli的eslint 插件,檢查和修復文件
eslintrc.js文件配置、eslintignore文件的配置
(2)安裝prettier,并增加.prettierrc.js文件
代碼格式化工具,通過.prettierrc.js文件進行配置代碼規范 .prettierrc.js相關配置如下

//配置參照 https://prettier.io/docs/en/options.html
module.exports = {tabWidth: 2, // tab 使用兩個空格endOfLine: "auto", // 保持現有的行尾useTabs: false, // 不使用制表符縮進,使用空格縮進semi: true, // 代碼需要分號結尾singleQuote: true, // 單引號bracketSpacing: true, // 對象左右兩側需要空格jsxBracketSameLine: false, // html 關閉標簽換行arrowParens: 'avoid', // 單參數的箭頭函數參數不需要括號proseWrap: 'never', // markdown文檔不換行trailingComma: 'none' // 結尾處不加逗號}
(3)package.json相關代碼
(4) vscode的配置-----配置eslint、prettier插件(Extensions安裝);setting.json文件的配置(項目配置新建setting.json文件、或用戶配置則修改vscode平臺的setting);
{// 用于保存時使用進行代碼格式化"editor.codeActionsOnSave": {"source.fixAll": true,},// 用于vscode右下角工具欄展示eslint標識"eslint.alwaysShowStatus": true,
}
(5)啟動項目

由于是在老項目中增加eslint規范,所以要實現以下兩點
第一,其他開發伙伴可輕松使用,需參照以下步驟:確保安裝eslint、prettier插件;確保vscode的setting.json文件中的source.fixAll配置為true;刪除本地node_modules;npm i重新安裝依賴;
第二,因為舊代碼有很多代碼不規范,為了控制臺清爽,也為了提高啟動速度,需要將vue.config.js中的lintOnSave設置為false,即運行時不啟用lint

該點–3如上轉載自 文章鏈接

筆者.eslintrc.js文件如下:

const IS_PROD = process.env.NODE_ENV === "production"
module.exports = {root: true,env: {node: true,},extends: ["plugin:vue/essential", "@vue/standard"],parserOptions: {parser: "babel-eslint",},rules: {// 自定義規則semi: ["error", "never"],// 分號camelcase: "off","no-new": "off","no-console": IS_PROD ? "warn" : "off","no-debugger": IS_PROD ? "error" : "off","no-unreachable": IS_PROD ? "error" : "warn",// 提前return"prefer-promise-reject-errors": "off","standard/no-callback-literal": "off","no-unused-vars": IS_PROD ? "error" : "warn","comma-dangle": ["error", "only-multiline"],// 末尾逗號"space-before-function-paren": ["error",{anonymous: "ignore",named: "never",asyncArrow: "always", // async箭頭函數},],"generator-star-spacing": "off","no-tabs": "off","no-irregular-whitespace": "off",// "vue/no-template-key": "off",// "vue/no-v-for-template-key": "off",// "vue/no-unused-components": "off",// "vue/no-unused-vars": "off",// "vue/require-v-for-key": "off",// "vue/valid-v-for": "off","vue/multi-word-component-names": ["warn"],eqeqeq: "warn",quotes: "off",},
}

4、.eslintignore忽略語法檢查

/* .eslintignore內容,根據實際情況修改:# 忽略xxx目錄下文件的語法檢查 */
src/assets
src/icons
src/tools
public
dist
node_modules
*.md
*.html

報錯信息

1、Uncaught runtime errors:通常由Vue 版本的不匹配引起的

ERROR (0 , vue__WEBPACK_IMPORTED_MODULE_2__.createVNode) is not a function
TypeError: (0 , vue__WEBPACK_IMPORTED_MODULE_2__.createVNode) is not a function
at eval (webpack-internal:///./node_modules/ant-design-vue/es/empty/index.js:36:73)

在這里插入圖片描述
解決方法: 降低 Ant Design Vue 的版本[新安裝的版本為4.2.1,降為"ant-design-vue": “^1.7.8”,推薦卸載當前版本后再安裝指定版本],降低版本后,完整引入ant-design-vue組件時需要修改為安裝路徑下有的css–import ‘ant-design-vue/dist/antd.css’;
如下
“dependencies”: {
“ant-design-vue”: “^1.7.8”,
“core-js”: “^3.8.3”,
“vue”: “^2.6.14”
}
PS: 通常情況下,你不需要先卸載當前版本的 Ant Design Vue,你可以直接安裝指定版本,npm 會處理版本的切換和依賴關系。
但有時為了避免潛在的問題,你也可以選擇先卸載當前版本再安裝指定版本。這樣做并不會有什么壞處,而且可以確保干凈地切換到目標版本。你可以使用以下命令來卸載當前版本:
npm uninstall ant-design-vue
再安裝指定版本:npm install ant-design-vue@1.7.8 --save

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15974.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15974.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15974.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構~~鏈式二叉樹

目錄 一、基本概念 鏈式存儲概念 二、鏈式二叉樹的結構 鏈式二叉樹結構 構建鏈式二叉樹 二叉樹的遍歷 二叉樹節點和高度等 二叉樹銷毀 三、鏈式二叉樹的練習 相同的樹 對稱二叉樹 另外一顆子樹 二叉樹前序遍歷 二叉樹遍歷 四、完整代碼 Tree.h Tree.c 五、總結 一…

Linux服務升級:Predixy 升級代理 Redis-cluster 集群

目錄 一、實驗 1.環境 2. 啟動Redis服務 3.Predixy 升級代理 Redis-cluster 集群 二、問題 1. Predixy進行set操作報錯 2.如何創建腳本啟動predixy 3.Redis代理對比 一、實驗 1.環境 (1)主機 表1 主機 系統版本節點軟件IP備注CentOS7.9Redis…

Springboot開發 -- Postman 調試類型詳解

引言 在 Spring Boot 應用開發過程中,接口測試是必不可少的一環。Postman 作為一款強大的 API 開發和測試工具,可以幫助開發者輕松構建、測試和管理 HTTP 請求。本文將為大家介紹如何在 Spring Boot 開發中使用 Postman 進行接口測試。 一、準備工作 安…

C/C++|malloc分配內存詳解

看本節前,希望讀者有linux內存分布的基本概念,可以閱讀這篇文章: 進程虛擬地址空間和函數調用棧 在本節中希望讀者可以一口氣閱讀完所有內容。 本博客內容全部來自小林coding:malloc 是如何分配內存的? 這里僅為筆記記…

Python-圖片旋轉360,保存對應圖片

#Author :susocool #Creattime:2024/5/25 #FileName:turn360 #Description: 會旋轉指定的圖像文件360度,并將每個旋轉后的圖像保存到指定目錄,文件名以旋轉角度命名。 from PIL import Imagedef rotate_and_save(image_path, output_dir) :# …

Linux/Ubuntu 中安裝 ZeroTier,實現內網穿透,2分鐘搞定

相信很多人都有遠程連接家中設備的需求,如遠程連接家中的NAS、Windows等服務,所以會涉及到一個內網穿透工具的使用,如果沒有公網IP的情況下,推薦大家使用ZeroTier,這是一款強大的內網穿透工具。 mac和windows版的操作…

Nginx-狂神說

Nginx概述 公司產品出現瓶頸? 我們公司項目剛剛上線的時候,并發量小,用戶使用的少,所以在低并發的情況下,一個jar包啟動應用就夠了,然后內部tomcat返回內容給用戶。 但是慢慢的,使用我們平臺…

HTTP 各版本差異

http1.0 它的特點是每次請球和響應完畢后都會銷毀TCP 連接。同時規走前一個響應完成后才發送下一個請求。這樣做有兩個問題: 無法復用連接了。 每次請求都要創建新的TCP連接,完成三次握手和四次揮手。網絡利用率低 隊頭阻塞 如果前一個請求被某種原因阻…

K8S認證|CKA題庫+答案| 13. sidecar 代理容器日志

目錄 13、使用 sidecar 代理容器日志 CKA v1.29.0模擬系統免費下載試用: 題目: 開始操作: 1)、切換集群 2)、生成yaml文件 3)、官網找模板 4)、編輯yaml文件 5)、應用yaml…

車載電子電器架構 —— 智能座艙技術

車載電子電器架構 —— 智能座艙技術 我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 屏蔽力是信息過載時代一個人的特殊競爭力,任何消耗你的…

qt multiple definition of 報錯解決

qt編譯報了很多錯, multiple definition of xxx 原來一維設計文件ui 的問題 后來發現是pro中頭文件和cpp文件重寫了,導致重復編譯報的錯 解決方法:把重復的頭文件和cpp文件刪了就可以了。

如何解決0.1+0.2!=0.3的問題

var x 0.1; var y 0.2; var z x y // z 的結果為 0.30000000000000004 if (z 0.3) // 返回 false 可以用整數的乘除法來解決 var z (x * 10 y * 10) / 10; // z 的結果為 0.3

GEO數據挖掘-GEO背景知識+表達芯片分析思路

From生物技能樹 GEO數據挖掘第一節 (pipeline) 文章目錄 1.圖表分析2.GEO背景介紹及分析思路3.代碼分析流程4.復雜數據分析理論知識1.數據從哪里來2.有什么類型的數據可挖掘3.如何篩選基因(分析方法)在這里插入圖片描述 圖表介紹1…

Jenkins + github 自動化部署配置

1 Jenkins安裝 AWS EC2安裝Jenkins:AWS EC2 JDK11 Jenkins-CSDN博客 AWS EC2上Docker安裝Jenkins:https://blog.csdn.net/hhujjj2005/article/details/139078402 2 登錄jenkins http://192.168.1.128:8080/ $ docker exec -it d1851d9e3386 /bin/ba…

Multi-objective reinforcement learning approach for trip recommendation

Multi-objective reinforcement learning approach for trip recommendation A B S T R A C T 行程推薦是一項智能服務,為游客在陌生的城市提供個性化的行程規劃。 它旨在構建一系列有序的 POI,在時間和空間限制下最大化用戶的旅行體驗。 將候選 POI 添…

【Shell】sed編輯器實例

sed是用來解析和轉換文本的工具,它使用簡單,是簡潔的程序設計語言。 sed編輯器 (一) sed編輯器基礎1. 簡介2. sed的模式空間 (二)基本的sed編輯命令(三)sed命令實例1. 向文件中添加或…

MFC GDI 繪圖模式、映射模式、畫筆、筆、字體

一 GDI 繪圖模式(RoP2 Mode) 在使用VC MFC進行圖形程序編程時,常會用到GDI繪圖指令,而要做到繪圖時有橡皮筋動態效果,就需設置GDI繪圖模式。GDI繪圖模式有多種,如下: 常用R2_NOT模式來實…

Linux|操作系統|如何下載各個版本的centos操作系統

前言: centos做為一個現在比較常用的Linux社區版本,還是比較受歡迎的,那么,如何下載centos的安裝包,也就是centos的操作系統呢? 首先,我們應該知道硬件底層有aarch64,ppc64&#x…

【限免】短時傅里葉變換時頻分析【附MATLAB代碼】

來源:微信公眾號:EW Frontier 簡介 一種能夠同時對信號時域和頻域分析的方法——短時傅里葉變換(STFT),可以在時頻二維角度準確地描述信號 的時間、頻域的局部特性,與其他算法不同,通過該算法可…

【Elasticsearch】Centos7安裝Elasticsearch、kibana、IK分詞

目錄 本文安裝包下載地址注意安裝elasticsearch1.上傳文件2.解壓elasticsearch-6.3.1.tar.gz3.開啟遠程連接權限4.修改其他配置[root用戶操作]5.重啟虛擬機6.啟動es7.外部訪問 安裝kibana-61.解壓2.配置3.啟動kibana4.訪問5.在開發工具中做數據的增刪改查操作 安裝IK分詞1.wind…