Vue 開發環境搭建

来源:https://www.cnblogs.com/peng8098/archive/2023/06/18/vue01.html
-Advertisement-
Play Games

## 1 安裝環境 ### Node.js js的運行環境,相當於 java 的 jvm 官網:https://nodejs.org/en,下載最新穩定版 `18.16.0 LTS`,雙擊安裝即可 自動安裝了npm,終端驗證: ```bash C:\Users\Administrator>node ...


1 安裝環境

Node.js

js的運行環境,相當於 java 的 jvm

官網:https://nodejs.org/en,下載最新穩定版 18.16.0 LTS,雙擊安裝即可

自動安裝了npm,終端驗證:

C:\Users\Administrator>node -v
v18.16.0
C:\Users\Administrator>npm -v
9.5.1

npm = node package manager,js 包的管理工具,相當於 java 的 maven

# 安裝淘寶鏡像
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm -v
# 安裝webpack
npm install webpack -g
webpack -v
# 安裝vue-cli
npm install --global vue-cli
vue -V

NVM

nodejs version manage,Node.js 版本管理工具,相當於 git

下載地址:https://github.com/coreybutler/nvm-windows/releases

雙擊安裝即可,驗證:

C:\Users\Administrator>nvm -v
1.1.11

環境變數在安裝時已經自動創建

NVM_HOME=D:\nvm
NVM_SYMLINK=D:\nodejs

# Path
%NVM_HOME%
%NVM_SYMLINK%

修改配置 D:\nvm\setting.txt

root: D:\nvm
path: D:\nodejs
# 新增4行,配置鏡像
arch: 64
proxy: none
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

Chrome vue-devtools 插件

WebStorm

配置

Editor
Font
  • Size:14
File and Code Template
  • HTML File
<!-- Author: weiyupeng -->
<!-- DateTime: ${DATE} ${TIME} -->
  • JavaScript File
/**
 * @Author: weiyupeng
 * @DateTime: ${DATE} ${TIME}
 *
 */
  • Vue Single File Component
<!-- Author: weiyupeng -->
<!-- DateTime: ${DATE} ${TIME} -->
Plugins

安裝 Vue.js 插件

新建 Vue 項目

  • 啟用web-pack自動部署項目架構
PS Z:\WebStormProject\vue-study> vue init webpack

? Generate project in current directory? Yes
? Project name vue-study                 
? Project description vue study               
? Author weiyupeng                               
? Vue build standalone      
? Install vue-router? Yes             
? Use ESLint to lint your code? Yes
? Pick an ESLint preset Standard
? Set up unit tests No
? Setup e2e tests with Nightwatch? No
? Should we run `npm install` for you after the project has been created? (recommended) npm
  • package.json
{
  "name": "vue-study",
  "version": "1.0.0",
  "description": "vue study",
  "author": "weiyupeng",
  "private": true,
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "lint": "eslint --ext .js,.vue src",
    "build": "node build/build.js"
  },
  "dependencies": {
    "vue": "^2.5.2",
    "vue-router": "^3.0.1"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.2",
    "babel-core": "^6.22.1",
    "babel-eslint": "^8.2.1",
    "babel-helper-vue-jsx-merge-props": "^2.0.3",
    "babel-loader": "^7.1.1",
    "babel-plugin-syntax-jsx": "^6.18.0",
    "babel-plugin-transform-runtime": "^6.22.0",
    "babel-plugin-transform-vue-jsx": "^3.5.0",
    "babel-preset-env": "^1.3.2",
    "babel-preset-stage-2": "^6.22.0",
    "chalk": "^2.0.1",
    "copy-webpack-plugin": "^4.0.1",
    "css-loader": "^0.28.0",
    "eslint": "^4.15.0",
    "eslint-config-standard": "^10.2.1",
    "eslint-friendly-formatter": "^3.0.0",
    "eslint-loader": "^1.7.1",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-node": "^5.2.0",
    "eslint-plugin-promise": "^3.4.0",
    "eslint-plugin-standard": "^3.0.1",
    "eslint-plugin-vue": "^4.0.0",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "^1.1.4",
    "friendly-errors-webpack-plugin": "^1.6.1",
    "html-webpack-plugin": "^2.30.1",
    "node-notifier": "^5.1.2",
    "optimize-css-assets-webpack-plugin": "^3.2.0",
    "ora": "^1.2.0",
    "portfinder": "^1.0.13",
    "postcss-import": "^11.0.0",
    "postcss-loader": "^2.0.8",
    "postcss-url": "^7.2.1",
    "rimraf": "^2.6.0",
    "semver": "^5.3.0",
    "shelljs": "^0.7.6",
    "uglifyjs-webpack-plugin": "^1.1.1",
    "url-loader": "^0.5.8",
    "vue-loader": "^13.3.0",
    "vue-style-loader": "^3.0.1",
    "vue-template-compiler": "^2.5.2",
    "webpack": "^3.6.0",
    "webpack-bundle-analyzer": "^2.9.0",
    "webpack-dev-server": "^2.9.1",
    "webpack-merge": "^4.1.0"
  },
  "engines": {
    "node": ">= 6.0.0",
    "npm": ">= 3.0.0"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

運行

npm run dev
# Your application is running here: http://localhost:8080

Vue 項目結構

├── build/                      # webpack 配置文件;
│   └── ...
├── config/                     # 與項目構建相關的常用的配置選項;
│   ├── index.js                # 主配置文件
│   ├── dev.env.js              # 開發環境變數
│   ├── prod.env.js             # 生產環境變數
│   └── test.env.js             # 測試環境變數
│
├── src/
│   ├── main.js                 # webpack 的入口文件;
│   ├── common/                 # 存放項目共用的資源,如:常用的圖片、圖標,共用的組件、模塊、樣式,常量文件等等;
│   │   ├── assets/             # 存放項目共用的代碼以外的資源,如:圖片、圖標、視頻 等;
│   │   ├── components/         # 存放項目共用的組件,如:封裝的導航條、選項卡等等; 備註:這裡的存放的組件應該都是展示組件;
│   │   ├── network/            # 存放項目的網路模塊,如:介面;
│   │   ├── compatible/         # 存放項目的相容模塊,如:適合App和微信各種介面的模塊;
│   │   ├── extension/          # 存放已有類的擴展模塊,如:對 Array 類型進行擴展的模塊;
│   │   ├── libraries/          # 存放自己封裝的或者引用的庫;
│   │   ├── tools/              # 自己封裝的一些工具
│   │   ├── constant.js         # 存放js的常量;
│   │   ├── constant.scss       # 存放scss的常量;
│   │   └── ...
│   └── app/                    # 存放項目業務代碼;
│       ├── App.vue             # app 的根組件;
│       └── ...
│
├── static/                     # 純靜態資源,該目錄下的文件不會被webpack處理,該目錄會被拷貝到輸出目錄下;
├── test/                       # 測試
│   ├── unit/                   # 單元測試
│   │   ├── specs/              # test spec files
│   │   ├── eslintrc            # 專為單元測試配置的eslint配置文件
│   │   ├── index.js            # 測試編譯的入口文件
│   │   ├── jest.conf.js        # Jest的配置文件
│   │   └── karma.conf.js       # Karma的配置文件
│   │   └── setup.js            # 在Jest之前運行的啟動文件;
│   └── e2e/                    # e2e 測試
│       ├── specs/              # test spec files
│       ├── custom-assertions/  # 自定義的斷言
│       ├── runner.js           # test runner 腳本
│       └── nightwatch.conf.js  # test runner 的配置文件
├── .babelrc                    # babel 的配置文件
├── .editorconfig               # 編輯器的配置文件;可配置如縮進、空格、製表類似的參數;
├── .eslintrc.js                # eslint 的配置文件
├── .eslintignore               # eslint 的忽略規則
├── .gitignore                  # git的忽略配置文件
├── .postcssrc.js               # postcss 的配置文件
├── index.html                  # HTML模板
├── package.json                # npm包配置文件,裡面定義了項目的npm腳本,依賴包等信息
└── README.md

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # 個人博客文章歸檔實現📑 # 前言 隨著博客的文章越來越多,那麼歸檔就顯得尤為重要,然後最近也是沒什麼課,加緊更新一下博客,之前也是更新了評論、留言板。 然後博客是使用的前後的不分離的項目,數據返回一般都是用的.NET的強類型數據返回,也會用到分佈視圖。 重點是一段sql查詢困惱我許久,在後端接 ...
  • 大家好,我是 god23bin。歡迎來到《一分鐘學一個 Linux 命令》系列,每天只需一分鐘,記住一個 Linux 命令不成問題。今天要說的是 ps 命令。 ...
  • MySQL作為一個流行的開源關係型資料庫管理系統,它可以運行在多種平臺上,支持多種存儲引擎,提供了靈活的數據操作和管理功能。 ...
  • Mysql8社區版日誌審計插件 過去從Mysql官方自帶general.log日誌的相比其他插件性能是最差的,我們考慮參考行業中較好的插件是MariaDB Audit Plugin, 可惜並不相容mysql 5.7與mysql 8.0以上版本。亞馬遜RDS for MySQL的開發團隊已經folk了 ...
  • ## 1.maven引入相關依賴 ~~~xml org.springframework.boot spring-boot-starter-data-redis org.apache.commons commons-pool2 2.11.1 com.fasterxml.jackson.core jac ...
  • 近日,極限數據 (北京) 科技有限公司(以下簡稱:極限科技)旗下的軟體 INFINI Easysearch 搜索引擎軟體 V1.0 通過統信 UOS 伺服器操作系統 V20 認證。 此次相容適配基於統信 UOS 伺服器操作系統 V20,聯合國產 CPU:海光 5000、海光 7000、兆芯 KH-3 ...
  • [TOC](MySQL主鍵、唯一索引、聯合索引的區別和作用) # 0. 簡介 索引是一類特殊的`文件`,用來存儲檢索信息,使資料庫查找更加快速。 # 1. 主鍵 主鍵是一類特殊的唯一索引,選擇某一列元素作為主鍵,用來表示每一行元素的特殊性,其特點如下 - 在一個數據表中只有一個主鍵; - 主鍵不能為 ...
  • 本文主要基於團隊實際開發經驗與積累,並結合了業界對大數據SQL的使用與優化,嘗試給出相對系統性的解決方案。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...