vue2+webpack构建项目

//全局安装webpack-dev-server

npm install -g webpack webpack-dev-server


//项目目录下初始化

npm init -y

//项目目录下安装依赖

npm install webpack webpack-dev-server style-loader css-loader babel-core babel-loader babel-plugin-transform-runtime babel-preset-es2015 babel-preset-stage-0 babel-runtime --save-dev

//vue相关依赖

npm install vue vue-loader vue-html-loader vue-style-loader  vue-hot-reload-api vue-template-compiler --save-dev

//安装vue

npm install vue --save


webpack.config.js webpack配置文件

module.exports = {
    devtool: "sourcemap",
    //入口文件
    entry: "./static/js/entry.js",
    output: {
        filename:"bundle.js"
    },
    module: {
        loaders: [
            //css loader
            {
                test: /\.css$/,
                loader: "style!css"
            },
            //js loader
            {
                test: /\.js$/,
                loader: "babel",
                exclude: /node_modules/
            },
            //vue loader
            {
                test: /\.vue$/,
                loader: "vue"
            }
        ]
    },
    resolve: {
        //vue别名
        alias: {
            'vue': 'vue/dist/vue.js'
        }
    },
    babel: {
        presets: ['es2015','stage-0'],
        plugins: ['transform-runtime']
    }
};


entry.js 入口文件

import Vue from 'vue'
//import Hello from "../../src/components/Hello.vue";

//使用全局函数注入组件,就不用import和在创建Vue对象时定义components键值
Vue.component('Hello', require("../../src/components/Hello.vue"));

new Vue({
    el: "#app",
    //定义template可以不用在html中插入"<Hello></Hello>"
    //template: '<Hello/>',
    //components: { Hello }
});

require('../css/style.css');

//显示加载的模块,加载的原因
//webpack --display-modules --display-reasons

//webpack -d

//优化并压缩
//webpack -p

//watch监控,自动执行webpack
//webpack -w

//监控并热加载
//webpack-dev-server --inline --hot

Hello.vue

<template>
    <div>
        <div>{{msg}}</div>
    </div>
</template>
<style>
    body{
        background-color:#eee;
    }
</style>
<script>
    export default{
        data(){
            return{
                msg:'this is template body vue'
            }
        }
    }
</script>

index.html

<html>
  <head>
    <meta charset="utf-8">
    <title>vue2</title>
    <link rel="icon" href="/src/assets/logo.png" type="image/x-icon">
    <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
  </head>
  <body>
    <div id="app"><Heading></Heading></div>
    <div>it works</div>
    <!-- built files will be auto injected -->
    <script src="bundle.js"></script>
  </body>
</html>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值