.netcore mvc with vue template


准備工作

新建工程

必要庫

檢查node、webpack、vue-cli、vue 等是否已安裝,如果沒有,使用npm install -g 安裝。

使用vue-cli初始化vue 項目

這里我選擇了使用vue路由、ESLint語法規范,另外兩個測試模塊暫時用不到都填n,關於使用vue webpack 模板的介紹可參考文檔

安裝依賴項

npm install

校驗項目是否初始化成功

npm run dev

構建工程

與后端同時編譯

打開NotesMVCVue.csproj文件,添加如下代碼。

修改webpack生成路徑

在asp.net core 項目中我們習慣將靜態文件放到wwwroot 目錄下,現在我們只需修改下webpack 配置文件即可。

  1. 修改config/index.js 文件。
  2. 生成項目,wwwroot目錄如下。

前后端交互

安裝axios

npm install axios --save-dev
--save-dev以省掉手動修改package.json文件的步驟。

創建一個方法,返回Json數據

在HomeCotroller中添加如下代碼

    public JsonResult GetPersonInfo()
    {
      var person = new
      {
        Name = "張三",
        Age = 22,
        Sex = "男"
      };
      return Json(person);
    }

引入axios

在main.js中引入axios。由於在其他組件中無法使用axios命令,所以需要將axios改寫為Vue的原型屬性。

import axios from 'axios' //引入axios
Vue.prototype.$ajax=axios //修改Vue的原型屬性

前端設置

在HelloWorld.vue中添加如下代碼

    mounted() {

      //GET
      this.$ajax({
        method: 'get',
        url: '/Home/GetPersonInfo',
      }).then(response => {
        let _data = response.data;
        this.msg = "hello," + _data.name;
      }).catch(function (err) {
        console.log(err)
      })

    }

查看結果

重新編譯項目,正常情況下會得到如下頁面,表明配置成功。

修改默認路由

在.netcore中訪問網站,其實默認路由到/home/index,現在我們希望直接訪問/index.html。
方法:在startup.cs中,添加如下代碼

      DefaultFilesOptions options = new DefaultFilesOptions();
      options.DefaultFileNames.Add("index.html");    //將index.html改為需要默認起始頁的文件名.
      app.UseDefaultFiles(options);

      app.UseStaticFiles();

這是我們就可以訪問到vue生成的頁面了。

前端UI布局

引入iview

前端使用iview框架,首先引入

npm install iview --save-dev

mainjs導入

在main.js中添加

import iView from 'iview';
import 'iview/dist/styles/iview.css';

Vue.use(iView);

修改App.vue

從iview官網拷貝任意一個示例代碼,替換App.vue,重新編譯。此處用的是布局頁面。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM