首頁 >web前端 >js教程 >vue2-webpack2的框架怎麼搭建

vue2-webpack2的框架怎麼搭建

php中世界最好的语言
php中世界最好的语言原創
2018-04-13 17:27:291542瀏覽

這次帶給大家vue2-webpack2的框架怎麼搭建,vue2-webpack2框架搭建的注意事項有哪些,下面就是實戰案例,一起來看一下。

react、vue、angular代表了3種前端工程化的思想,學習三大框架主要是理解它們的核心概念,例如元件、生命週期、單向資料流、雙向綁定等。這些概念在非框架開發中,很少人會去這樣系統化的思考,對於新手來說,很多概念都沒有接觸過,不知道從何入手一個react、vue或者是angular項目,下面我將會從零建構vue項目,邊做項目邊學習vue的思想。

1、想要使用vue,我該怎麼做?

想要學習vue,我第一件事是去vue官網看簡介:https://cn.vuejs.org/v2/guide... ,仔細一看,vue現在有1.X和2.X的差別,很好,我果斷選2.X。

選中了vue版本,我上知乎搜尋了vue框架搭建的方式,看了前輩的各種分享,了解到一個叫做 cooking 的好玩意,好在哪裡?

cooking 的目標是將你從繁瑣的建置配置中解放出來,同時也省去每個專案都要安裝一堆開發依賴的麻煩。基於 webapck 但更友善的配置項目、易用的擴充配置機制,讓你專注專案忘掉配置。

哇,看到cooking官網介紹的這麼好,我果斷按照它的教程去做,瞎搞了一下下,發現用的不爽啊,一鍵配置環境看起來很高大上,可是還得去學習cooking的使用,而且本地得安裝cooking,搞得我頭暈,雖然在瀏覽器成功訪問到了網頁,但我還是放棄了這個好玩意。

這時候只能自己從0開始建造專案了。

2、在github新建vue2-web專案。

開啟github首頁,點選start a project。

接著你會看到Create a new repository,需要你填寫項目信息,這個步驟跳過。

然後專案就建好了,clone到本地。

3、初始化npm

# 用shell或cmd進入專案根目錄,執行下面的指令,選項什麼的直接跳過,最後會產生package.json檔。

npm init

# 4、安裝webpack

# 沒有webpack就活不下去的感覺,但是配置webpack也會讓人活不下去,太難記住webpack的配置項了,不過別擔心,我已經幫你搞定這一步了,咋們都必須使用webpack2啊。

npm install --save-dev webpack

# 還需要前端伺服器,做熱更新呀,webpack-dev-server登場。

npm install --save-dev webpack-dev-server

5、建立webpack.config.js檔案

# 和react中的webpack設定檔沒什麼差別,只是稍微改動一個地方即可移植過來使用。

千萬不要把js和vue放在一起,不起作用的,必須分開,必須,這個坑我已經踩過了,為了找這個坑,浪費了我好幾個小時,最最隱蔽的一個地方。

rules: [{
   test: /\.js$/,
   use: ['babel-loader'],
   exclude: /node_modules/,
   include: resolve('src')
  },{
   test: /\.vue$/,
   use: ['vue-loader'],
   exclude: /node_modules/,
   include: resolve('src')
  },

6、建立.babelrc檔。

babel少不了,注意這裡不是用react了,而是vue,包括下面幾個插件,flow-vue、transform-vue-jsx。

{
 "presets": ["es2015", "flow-vue", "stage-0", "stage-2"],
 "plugins": ["transform-vue-jsx"],
 "comments": false,
 "env": {
 "production": {
  "plugins": [
  ["transform-runtime", { "polyfill": false, "regenerator": false }]
  ]
 }
 }
}

7、在package.json加入start指令

直接使用webpack-dev-server啟動,哇塞,一堆報錯,說少了哪個module,這個簡單,因為設定檔裡面引用的一堆module,還沒安裝到專案呢,這時候一個個安裝好就行了。

"start": "webpack-dev-server",

# 8、專案入口main.js檔。

#

这个文件名自己喜欢咋取就咋取,代码挺简单的,实例化一个Vue和路由,是不是和react的入口文件很像?当然,我做的是SPA,所以采用单入口的形式,如果是非SPA模式,就不是这种配置方式了。

import Vue from 'vue';
import App from './App.vue';
import VueRouter from 'vue-router';
import routes from './routes';
import VueResource from 'vue-resource';
Vue.use(VueResource); //http请求注册
Vue.use(VueRouter); //路由注册
// 实例化路由
const router = new VueRouter({
 // mode: 'history', //H5 路由模式,需要服务端做渲染防止404错误
 base: dirname,
 linkActiveClass: 'on',
 routes
})
let render = new Vue({
 router,
 el: '#app',
 render: h => h(App)
});
render;
// if (module.hot) {
//  非必须
//  module.hot.accept('./App.vue', () => render);
// }

9、路由routes.js

路由和react也非常像(简直一样好不),这里的vue页面采用.vue后缀的方式来写。

import Home from './components/home/Home.vue';
import Bang from './components/bang/Bang.vue';
export default [
 {
  path: '/',
  redirect: 'home'
 },
 {
  path: '/home',
  component: Home
 },
 {
  path: '/bang',
  component: Bang
 }
]

10、单页顶层容器App.vue

从index进来,就是这个文件,现在开始学习vue的精华。

template:vue的模板语言,也叫作jsx。

transition:过渡动画。

router-view:路由显示容器,通过router-link跳转加载的.vue会在这个容器渲染。router-link被我封装到nav.vue组件里面了。

script:导入了当前顶级容器需要用到的vue组件,包括头部、导航、首页。还有更多丰富的设置我没有研究,后续的学习中会深入下去。

style: 当前组件的样式,我配置了less语法支持。将style改成