網上Vue模板不是最新的,我自己做了一個最新的支持 Vue.js 的最小工程模板,方便大家從 Hello world. 入門, 在 VS2017 里學習,並擴展出自己的項目。
下面是創建步驟:
1、在VS2017中建立一個新的 MVC 項目
略
2、用 npm 添加 vue 支持包
在MVC項目目錄下執行:
npm init
npm i --save-dev webpack webpack-cli
npm i --save-dev vue vue-loader vue-template-compiler
3、添加配置文件和運行文件
在vs項目中,創建 webpack.config.js 配置文件
const path = require('path'); const bundleOutputDir = './wwwroot/dist'; const VueLoaderPlugin = require('vue-loader/lib/plugin'); module.exports = { resolve: { extensions: ['.js', '.vue'] }, entry: './ClientApp/main.js', module: { rules: [ { test: /\.vue$/, include: /ClientApp/, loader: 'vue-loader' } ] }, output: { path: path.join(__dirname, bundleOutputDir), filename: '[name].js', publicPath: 'dist/' }, plugins: [ new VueLoaderPlugin() ] }
這算是最小配置了吧。
將vue 程序添加到 ClientApp 目錄中,並且加入 main.js
import Vue from 'vue'
import App from './App'
new Vue({
el: "#app",
render:h=>h(App)
})
對應的 App.vue 文件內容:
<template>
<div id="app">
<h2>Hello Vue. {{message}}</h2>
</div>
</template>
<script>
export default {
name: 'app',
data: function () {
return {
message: "ok."
}
}
}
</script>
修改 HomeController 的 Index.cshtm 文件
@{ ViewData["Title"] = "Home Page"; } <div id='app'> </div> @section scripts { <script src="~/dist/main.js" asp-append-version="true"></script> }
Shared 文件夾下除了 _Layout.cshtml 文件,其它都刪掉。並將 _Layout.cshtml 文件內容改為:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>@ViewData["Title"] - NewTestVue</title> <base href="~/" /> <environment exclude="Development"> <link rel="stylesheet" href="~/dist/site.css" asp-append-version="true" /> </environment> </head> <body> @RenderBody() @RenderSection("scripts", required: false) </body> </html>
將 Views 目錄下多余的文件刪除。最后剩下如下文件:
4、手動編譯 vue 文件
這時,如果手動編譯 vue 項目,可在項目目錄下執行:
npx webpack --mode development
5、在VS中運行項目
這時在 VS2017 中執行項目,結果是:
6、后繼擴展
現在雖然已經可以運行了,但,vue文件修改后,還只能到命令行手動編譯。所以接下來是如何實現:
- 支持在VS項目中,點擊運行時,自動編譯vue文件;
- 支持在運行狀態下,動態修改 vue 文件,不停止項目運行也能自動編譯js文件;
- 在vue源文件,有出錯信息時,還需要能定位到源文件的位置;
為此我把擴展后的模板上傳了,點此下載。希望對大家在VS中學習使用 vue 有幫助。
7、參考資料
《webpack4.0實戰那些事兒》 Webpack 4.0 的配置命令解釋
《Webpack 4 和單頁應用入門》 這個資料很不錯,相信你可以學到更多。
《ASP.NET Core, Visual Studio 2017, Vue and ES6 (ES2015)》 工程有點老,還是有幫助的。
《Setting up a Vue.js Project with webpack 4 and Babel 7》