vue3.0 Composition API 上手初體驗 構建基本項目開發環境

vue3.0 Composition API 上手初體驗 構建基本項目開發環境

目前,vue3.0 已經進入了 beta 版本了。衆多的特性已經定下來了,相信有不少朋友都已經開始閱讀相關的資料或源碼了。

雖然我現在工作比較勞累,但是對於這樣的前端行業的盛事,我也不能袖手旁觀哪!所以,我決定寫一個系列的文章,來帶大家上手一下全新的 vue3.0

首先,從目前公開信息來看,vue3.0 是完全兼容 2.0 版本的所有寫法的。因此,即便不瞭解 3.0 的內容,用原有的知識儲備,也是完全可以使用 3.0 版本的。這一點,各位同行不要驚慌。

另外,由於目前 vue3.0 對應的腳手架還沒有開放,因此,我們只能手動搭建我們的項目了。那麼本文,就來簡單說說如何從 0 到 1 構建一個基於 vue3.0 的項目環境。

其實,再過幾個月,就完全不必參考此文了,因爲到時候官方腳手架會把一切都安排的妥妥的。不過,這也並不表示此文完全沒有價值,因爲,如果你只會用腳手架,不會自己構建腳手架,也是一件蠻遺憾的事情,對吧?

請確保你對 vue2.0 是有一定了解的,對於命令行的操作是有基礎的,對於 node\npm 等是瞭然的,再閱讀本文。受限於個人時間有限,不能十分詳盡的展開介紹,因此,只能簡要的大概說明。

如果確實沒有基礎,可以看我2017年寫得一個系列的文章。 Vue2 項目實戰 此鏈接中有全部內容鏈接,可以去這裏看。

所有命令均在 MacOS 系統下,npm 源設置爲淘寶源。本人不回答任何有關 windows 系統的問題,理由很簡單——不會。

搭建基礎 webpack 環境

首先在系統中找個目錄,用來構建本項目。本人目錄爲 ~/Sites/myWork/demo/vue3-demo。下文命令均在此目錄下執行。

# 創建項目文件夾
mkdir -p ~/Sites/myWork/demo/vue3-demo
# 進入項目文件夾
cd ~/Sites/myWork/demo/vue3-demo
# 構建 npm 環境,執行命令後會有一系列的問題和選項,一路回車即可。
npm init
# 安裝 vue3.0 
# @next 是表示最新版,目前最新版是3.0,幾年之後肯能會是更高的版本
# 當前時間爲2020年5月
npm i vue@next
# 安裝 webpack 依賴
# -D 表示是開發環境依賴,不加表示是項目依賴
npm i webpack webpack-cli webpack-dev-server -D
# 安裝打包編譯依賴
npm i html-webpack-plugin clean-webpack-plugin -D
# 安裝 vue 文件編譯依賴
npm i vue-loader@next @vue/compiler-sfc -D
# 安裝 css 編譯依賴
npm i css-loader style-loader -D
# 安裝 scss 依賴
npm i node-sass sass-loader -D

好,基本的這些包都有了。後面我們當然還會安裝其他的依賴,等下再說。

構建基礎文件

# 創建 webpack 配置文件
touch webpack.config.js
# 創建項目開發文件夾,以及靜態資源文件夾
mkdir src public
# 創建基礎文件
touch src/main.js public/index.html

打開編輯器,我們開始編寫這些文件吧。

webpack.config.js 文件內容

關於 webpack 的這個配置文件詳解,我就不解釋了,網上教程大把,我這邊也沒有做過多優化,只是能跑起來而已。懂得不用解釋,不懂的直接複製。

const path = require('path')
const { VueLoaderPlugin } = require('vue-loader')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')

module.exports = (env = {}) => ({
  mode: env.prod ? 'production' : 'development',
  devtool: env.prod ? 'source-map' : 'inline-source-map',
  entry: path.resolve(__dirname, './src/main.js'),
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/'
  },
  resolve: {
    alias: {
      'vue': '@vue/runtime-dom',
      '@': path.resolve(__dirname, './src')
    }
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        use: 'vue-loader'
      }, {
        test: /\.css$/,
        use: ['style-loader', 'css-loader']
      }, {
        test: /\.scss$/,
        use: ['style-loader', 'css-loader', 'sass-loader']
      }
    ]
  },
  plugins: [
    new VueLoaderPlugin(),
    new CleanWebpackPlugin(),
    new HtmlWebpackPlugin({
      template: path.resolve(__dirname, './public/index.html'),
      filename: 'index.html'
    })
  ],
  devServer: {
    publicPath: '/',
    inline: true,
    hot: true,
    stats: 'minimal',
    contentBase: __dirname,
    overlay: true,
    historyApiFallback: true
  }
})

public/index.html 文件內容

一個基礎的 html 內容而已,包含一個 #appdiv 作爲我們代碼的根節點。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>VUE 3.0 Demo</title>
</head>
<body>
  <div id="app"></div>
</body>
</html>

src/main.js 文件內容

這個內容是臨時的,只是看我們的 webpack 是否能正常跑起來。

document.querySelector('#app').innerText = 'Vue 3.0 demo'

package.json 兩處修改

第一個是將主文件引向我們剛剛寫的 webpack 配置文件。

另一個是添加 dev 節點,調用 webpack-dev-server

  "main": "webpack.config.js",
  "scripts": {
    "dev": "webpack-dev-server"
  },

跑起來!

在命令行輸入下面的命令:

npm run dev

如上圖所示,當命令跑起來之後,會顯示成這個樣子。

然後,我們在瀏覽器裏面輸入 http://localhost:8080 看項目是否跑起來了。

現在,我們可以看到,通過我們剛剛的配置,已經可以把項目跑起來了。

那麼,我們的基礎開發環境就弄好了。注意,我這邊只是爲了能把項目搞跑起來,至於其他的什麼優化是一毛錢都沒有的。目前我也不建議大家將 vue3.0 用於生產環境,搞這個,只是爲了學習而已。有關 webpack 更多內容,可以去找一找相關的資料文檔,我對這玩意兒也就是知其然不知其所以然的狀態。

本文由 FungLeo 原創,允許轉載,但轉載必須保留首發鏈接。


《vue3.0 Composition API 上手初體驗》 文章目錄地址: https://blog.csdn.net/fungleo/category_10020552.html 我會不定期的補充一些相關內容,歡迎關注訂閱!

文章代碼倉庫 https://github.com/fengcms/vue3-demo 會用 git 的朋友,可以去直接下載我的代碼。當然,給我點個 star 啥的,也不是不可以的哈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章