vue-cliは適格なプロジェクトフレームワークを構築します

最初のステップは、淘宝網のミラーを介してcnpmをインストールすることです。

npm i -g cnpm --registry=https://registry.npm.taobao.org

ステップ2:npmの設定を設定する

npm config set registry https://registry.npm.taobao.org

ステップ3:vueスキャフォールディングをインストールする

npm install -g @vue/cli

ステップ4:全体的な足場を設定する

cnpm i @vue/cli-init -g

手順5:コンピューターの詳細システム設定で
ここに画像の説明を挿入します
vue.cmdファイルが配置されているパスを構成します。vue.cmdファイルが配置されているパスを見つけます

ここに画像の説明を挿入します
環境変数をクリックします
ここに画像の説明を挿入します

ユーザー変数でパスを選択し、[編集]をクリックします

ここに画像の説明を挿入します
[新規]をクリックし、パスをコピーして、[保存]をクリックします

ステップ6:空のフォルダーを作成し、vsCodeを使用してこのフォルダーを開き、ターミナルを開いて次のコードを実行します。
最後のvue-demoはvueプロジェクトの名前であり、任意の名前を付けることができます。

vue init webpack vue-demo

ステップ7:準備ができたら、次の構成を待ちます。
ここに画像の説明を挿入します
上から順に、プロジェクト名、プロジェクトの説明、作成者、パッケージ方法、vue-router、eslint、単体テスト、e2eテストを構成し、npmまたはyarnを使用します。

ステップ8:コードルールvsCodeを使用してprettier-Codeをインストールする
ここに画像の説明を挿入します

ステップ9:プロジェクトのルートディレクトリに.prettierrc.jsファイルを作成し、次のルールを入力します(ルールはVueのeslintと競合しないように処理されています)

module.exports = {
    
    
  // 一行最多 100 字符
  printWidth: 100,
  // 使用 2 个空格缩进
  tabWidth: 2,
  // 不使用缩进符,而使用空格
  useTabs: false,
  // 行尾需要有分号
  semi: false,
  // 使用单引号
  singleQuote: true,
  // 对象的 key 仅在必要时用引号
  quoteProps: 'as-needed',
  // jsx 不使用单引号,而使用双引号
  jsxSingleQuote: false,
  // 末尾不需要逗号
  trailingComma: 'none',
  // 大括号内的首尾需要空格
  bracketSpacing: true,
  // jsx 标签的反尖括号需要换行
  jsxBracketSameLine: false,
  // 箭头函数,只有一个参数的时候,也需要括号
  arrowParens: 'always',
  // 每个文件格式化的范围是文件的全部内容
  rangeStart: 0,
  rangeEnd: Infinity,
  // 不需要写文件开头的 @prettier
  requirePragma: false,
  // 不需要自动在文件开头插入 @prettier
  insertPragma: false,
  // 使用默认的折行标准
  proseWrap: 'preserve',
  // 根据显示样式决定 html 要不要折行
  htmlWhitespaceSensitivity: 'css',
  // 换行符使用 lf
  endOfLine: 'lf',
};

手順10:「space-before-function-paren」eslintエラーレポート
ここに画像の説明を挿入します
を閉じるルートディレクトリで.eslintrc.jsファイルを見つけ、ルールの下に「space-before-function-paren」:「off」を追加します。

11番目のステップ:lessの使用
lessファイルを直接インポートすると、エラーが報告され、less-loaderが見つかりません。この問題を解決するには、lessとless-loaderをインストールする必要があります。Vueは次のように書いています。 Webpack構成が少ないほど、これら2つの依存関係をダウンロードする必要があります。

yarn add less less-loader
或
npm install less less-loader --save

しかし、インストール後もエラーTypeErrorが見つかりました:this.getOptionsは関数ではありません。これは、最新バージョンのless-loaderがvueのless-loader構成と互換性がないためです。

npm uninstall less-loader
npm install less-loader@5.0.0
或
yarn remove  less-loader
yarn add less-loader@5.0.0

興味のある学生は、次のプロジェクトでこのコードを見ることができます
ここに画像の説明を挿入します

ステップ12:axiosを使用してバックグラウンドインターフェイスをリクエストするaxiosyarnを
インストールするaxiosを
追加する

npmがaxiosをインストールする--save

axiosをvueglobalにマウントします; main.jsで

import Vue from 'vue'
import App from './App'
import router from './router'
+ import axios from 'axios'

Vue.config.productionTip = false
+ Vue.prototype.axios = axios

/* eslint-disable no-new */
new Vue({
    
    
  el: '#app',
  router,
  components: {
    
     App },
  template: '<App/>'
})

コンポーネントで使用

<template>
  <div>
    这是vue的$emit的测试页面
  </div>
</template>

<script>
export default {
    
    
  name: 'emit',
  data() {
    
    
    return {
    
    
      test: 'a'
    }
  },
  methods: {
    
    },
  mounted() {
    
    
    this.axios({
    
    
      method: 'get',
      url: '192.168.01:8000/dx',
      data: {
    
    
        name: 'dx'
      }
    })
  }
}
</script>

13番目のステップ:mockjsはaxiosリクエストをインターセプトし、モックデータを取得し、フロントエンドとバックエンドを別々に開発します

npm install mockjs --save
或
yarn add mockjs

srcディレクトリにモックフォルダを作成し、mock.jsフォルダを作成します

import Mock from 'mockjs'

// eslint-disable-next-line
Mock.mock('192.168.01:8000/dx', {
    
    
  // 这里的url地址其实可以换成一个字段,比如msg,下边请求时候对应就可以
  name: '@cname',
  'age|1-10': 10
})

main.jsフォルダーに導入します

import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
+import './mock/mock'

Vue.config.productionTip = false
Vue.prototype.axios = axios

/* eslint-disable no-new */
new Vue({
    
    
  el: '#app',
  router,
  components: {
    
     App },
  template: '<App/>'
})

コンポーネントでaxiosを使用する

<template>
  <div>
    这是vue的$emit的测试页面
  </div>
</template>

<script>
export default {
    
    
  name: 'emit',
  data() {
    
    
    return {
    
    
      test: 'a'
    }
  },
  methods: {
    
    },
  mounted() {
    
    
    this.axios({
    
    
      method: 'get',
      url: '192.168.01:8000/dx',
      data: {
    
    
        name: 'dx'
      }
    }).then((response) => {
    
    
      console.log(response)
    })
  }
}
</script>

ここに画像の説明を挿入します

手順14:パッケージ化時にコンソールとデバッガーを削除します
ここに画像の説明を挿入します
。UglifyJsPluginプラグインで、uglifyOptionsを構成し、上記の構成を追加します。

手順15:フロントエンドとバックエンドのインターフェイスの共同デバッグ。プロキシはクロスドメイン
ここに画像の説明を挿入します
設定を処理します。ここで設定する必要がある理由は、
ここに画像の説明を挿入します
上記のプロキシ構成を変更することで、他の場所でもプロキシを構成できるためです。
注:プロキシするときは、プロキシにmockjsを与えることを忘れないでください。オフにしないと、axiosがインターセプトされ、当然プロキシされません。main.jsにコメントアウトする
ここに画像の説明を挿入します
と、プロキシが開始されていることがわかりますが、プロキシインターフェイスが私によって落書きされ、プロキシが失敗します
ここに画像の説明を挿入します
。16番目のステップは、IEブラウザのpromiseの互換性の問題を解決することです
。Vueプロジェクトは通常Axiosを使用しますはバックグラウンドデータを要求する方法ですが、axiosはajaxのpromiseカプセル化であり、babel-loaderはpromiseの問題を解決するのに十分ではないため、babel-polyfillの追加インストールが必要です

yarn add babel-polyfill 或
npm install babel-polyfill --save


ここに画像の説明を挿入します
main.jsのトップレベルで紹介しますwebpack.base.conf.jsを見つけて、下の図に示すように赤いボックスのコンテンツを変更します。
ここに画像の説明を挿入します
ステップ17つまり、ブラウザエラーを報告します無効なホスト/オリジンヘッダー
。ソリューションの原則webpack構成でdevServerを見つけることです。構成アイテムdisableHostCheckを追加します。true、
実際のvue-cliプロジェクトで、webpack.dev.conf.jsファイルを見つけ、次のコードを記述しますdevWebpackConfig.devServer.disableHostCheck = true
ここに画像の説明を挿入します
。ステップ18:vuexの使用vuex
はvueファミリーバケットの重要なメンバーです。1つは、プロジェクトが使用されていない可能性があるため、必要に応じて参照できます。

yarn add vuex 或
npm i vuex --save

srcフォルダの下に格納フォルダを作成し、index.js作成
index.jsを

import Vue from 'vue'
import Vuex from 'vuex'
//使用vuex的插件
Vue.use(Vuex)
//创建一个store对象
const store = new Vuex.Store({
    
    
//	定义的公共变量
  	state: {
    
    
  	  count: 0
  	},
//  state中的变量只能在mutations中通过方法修改  	
  	mutations: {
    
    
  		changeCount: function (state) {
    
    
  		state.count++
  		}
  	},
  	actions: {
    
    
  		
  	},
  	getters: {
    
    

  	}
})
//导出这个对象
export default store

main.jsのvueインスタンスにマウントする必要があります。
ここに画像の説明を挿入します

ステップ19(オプションのUI)element-uiをインストールし、オンデマンドロードを構成します

element-uiインストールガイドhttps://element.eleme.cn/#/zh-CN/component/quickstart

yarn add element-ui 或
npm i element-ui --save

main.jsにelement-uiスタイルとelement-uiスタイルを導入してインストールします

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import 'babel-polyfill'
import Vue from 'vue'
// 添加element-ui
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App'
import router from './router'
import axios from 'axios'
import store from './store/index'
import './mock/mock'
// 安装element-ui的插件
Vue.use(ElementUI)
Vue.config.productionTip = false
Vue.prototype.axios = axios

/* eslint-disable no-new */
new Vue({
    
    
  el: '#app',
  router,
  store,
  components: {
    
     App },
  template: '<App/>'
})

element-uiのオンデマンドロードを構成し、.babelrcファイルを見つけ、次の構成を追加します。babel
-plugin-componentをインストールする必要があります

yarn add babel-plugin-component
或
npm i babel-plugin-component -D

ここに画像の説明を挿入します
19番目のステップ(オプションのUI):ant-design-vueを使用する
ant-design-vueインストールガイドhttps://www.antdv.com/docs/vue/use-with-vue-cli-cn/

yarn add ant-design-vue 或
npm i ant-design-vue -D

yarn add babel-plugin-import 或
npm i babel-plugin-import -D

.babelrcファイルを変更し、babel-plugin-importを構成します

  {
    
    
    "presets": [
      ["env", {
    
    
        "modules": false,
        "targets": {
    
    
          "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
        }
      }],
      "stage-2"
    ],
-   "plugins": ["transform-vue-jsx", "transform-runtime"]
+   "plugins": [
+     "transform-vue-jsx",
+     "transform-runtime",
+     ["import", {
    
     "libraryName": "ant-design-vue", "libraryDirectory": "es", "style": "css" }]
+   ]
  }

コンポーネントでは、このように直接使用できます

import {
    
     Button } from 'ant-design-vue';

最後に、vueプロジェクトを開始し、vsCodeターミナルにnpm run devと入力し、http:// localhost:8080をクリックしてプロジェクトページを表示します。

おすすめ

転載: blog.csdn.net/glorydx/article/details/114649498