webpack2.X、Vue学习以及将两者相结合

在家的闲暇时间来完善自己的前端知识。

经过两三天的学习,按照webpack文档学习,vue文档学习,最后实现了两者结合的目标。

webpack

按照网站上guide的流程依次学习

1、使用npm安装webpack
2、设置输入文件,比如怎样引入css,images,fonts,data
3、设置输出文件,比如可以根据自己的设置来决定输出脚本的名称,生成新的页面,在每次生成新页面之前先把旧的页面进行清理
4、开发过程中,使用source maps来显示提示信息,方便开发者定位错误的信息,使用本地服务器访问页面。
5、对于输出的文件进行压缩,减小文件的大小

Vue

1、使用npm进行安装vue
2、在webpack的入口文件中使用

import Vue from ‘vue’;

引入vue,这样会报错,错误显示引入的是vue.runtime.esm.js,当我们在webpack中使 用:

module.exports = {
  // ...
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.esm.js' // 'vue/dist/vue.common.js' for webpack 1
    }
  }
}

就可以解决报错;

3.最后引入

module.exports = {
  // ...
  plugins: [
    // ...
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: JSON.stringify('production')
      }
    })
  ]
}

代码展示

目录结构:

index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>vue page</title>
    <div class="" id="main">
      <div class="" id="head">

      </div>
      <div class="" id="container">
        {{message}}
      </div>
      <div class="" id="foot">

      </div>
    </div>
  </head>
  <body>
  <script type="text/javascript" src="app.bundle.js"></script></body>
</html>

webpack.config.js

const path = require('path');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const webpack = require('webpack');
module.exports = {
  entry : {
    app : './resourse/script/app.js',
  },
  devtool: 'inline-source-map',
  devServer: {
    contentBase: './dist',
    hot: true
  },
  plugins: [
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: JSON.stringify('production')
      }
    }),
    new webpack.HotModuleReplacementPlugin(),
    new UglifyJSPlugin()
  ],
  output : {
    filename : '[name].bundle.js',
    path : path.resolve(__dirname, 'dist')
  },
  resolve: {
   alias: {
     'vue$': 'vue/dist/vue.esm.js' // 'vue/dist/vue.common.js' for webpack 1
   }
 }
}

app.js

import _ from 'lodash';
import Vue from 'vue';

var app = new Vue({
  el: '#container',
  data: {
    message: 'Hello Vue!'
  }
})

最后,可以看到一个经典的hello world显示在页面上。

到此时我认为最简单的webpack和vue已经结合,可以正常的进行前端的开发了,ok,我先开始使用一下自己的劳动成果,使用vue开发一下通用的组件,啦啦啦~~

    原文作者:yangmengya
    原文地址: https://segmentfault.com/a/1190000012644031
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞