Vue:webpack+vue-loader

1.webpack+vue-loader 搭建环境

  • 首先先安装以下插件:
    • 安装webpack相关的文件:npm i webpack webpack-dev-server --save-dev
    • 安装vue编译中需要的:npm i vue-loader vue-template-compiler --save-dev
    • 安装vue上线后需要的:npm i vue vue-router --save 开发依赖
    • 安装babel相关的:npm i babel-core babel-loader babel-preset-es2015 style-loader css-loader --save-dev
    • 安装模版文件插件:html-webpack-dev
  • 配置webpack.config.js文件
const path=require('path');
const webpack=require('webpack');
const HtmlWebpackPlugin=require('html-webpack-plugin');

module.exports={
    entry:path.resolve(__dirname,'./src/main.js'),
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'bundle.js'
    },
    module:{
        rules:[
            {
                test:/\.js$/,
                exclude:/node_modules/,
                use:'babel-loader'
            },
            {
                test:/\.css$/,
                use:['style-loader','css-loader']
            },
            {
                test:/\.vue$/,
                use:'vue-loader'
            }

        ]
    },
    plugins:[
        new HtmlWebpackPlugin({
            template:'./src/index.html'
        })
    ]
}

2.编写子组件

  • 通过export default导出JS部分,template模版部分不用单独导出
export default{
  data(){
      return{msg:'首页'}
  }
}

3.子组件样式的使用

  • 在style中设置样式的时候,如果只对当前组件有效
    • 给style加上"scoped"属性;
      +设置less样式;需要在style中设置lang和rel,需要安装less 和 less-loader
      npm i --save-dev less less-loader
      <style scoped lang="less" rel="stylesheet/less">div{background: blue;h1{ color: #ffffff;}}</style>

4.路由配置

4.1、在main.js中引入,注册 vue-router; 因为配置的路由可能会很多,所以,把配置部分单独拎到 router.js文件中

  • main.js配置如下
    - Vue.use(VueRouter) 它可以把VueRouter注册为全局组件;这样在任何组件中都能使用;
  • router.js配置如下
import Route from './router';
Vue.use(VueRouter);
var router=new VueRouter(Route);

4.2、在router.js中引入我们需要映射的组件,导出写好的映射;

              routes:[
                   {path:'/about',component:About}, 
                   {path:'/contact',component:Contact} 
        ]
}

4.3、在main.js中导入已经配置好的router.js,并把router添加到app的实例中
4.4、在导航组件Navs.js中添加路由跳转和渲染;

<div> 
        <router-link to="/about">关于我们</router-link>
        <router-link to="/contact">联系我们</router-link>
        <router-view></router-view>
</div>

axios:跟vue-resource很相似
vue-resource 通过Vue.use() 注册为全局组件
axios:通过 Vue.prototype.$http=axios 注册为全局组件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,227评论 7 35
  • 本文作者 Jinkey(微信公众号 jinkey-love,官网 https://jinkey.ai)原文链接 h...
    JinkeyAI阅读 425,721评论 152 921
  • 题目:八皇后问题思路:就用回溯法。这个算法类似动态规划的思想。 代码如下: 上面我使用的方法应该是算快的了,给个效...
    IT孤独者阅读 483评论 0 0
  • [精进每一天]第362天 2017.11.11 生命中最后的一天 如果今天是我生命中的最后一天, 你会不会完成你今...
    梁亿阅读 338评论 0 0
  • 昨天约好了她来取东西,留在我这里的一些衣物和鞋子,她来取回去。刚好昨天表妹王欢来杭州,说是晚上去滨江文玺那吃饭,我...
    走走停停的路人甲阅读 315评论 1 0