webpack-dev-server以及vue router(四)

一、webpack-dev-server篇

之前用的是gulp的server来启服务器,可以用webpack-dev-server来进行服务器启动。(据说能用webpack的尽量用webpack?)

首先,安装webpack-dev-server

cnpm i webpack-dev-server --save-dev

在gulp文件夹(在之前第三部分的文章中已建)中新建一个webpack.dev.server.js文件,来保存webpackDevServer启动服务器任务代码

关于webpack-dev-server的配置说明可以参考:https://segmentfault.com/a/1190000006964335

根据参考文献,配置webpack.dev.server.js如下:

在此之前要引入:

letwebpackDevServer= require('webpack-dev-server');

letwebpack = require('webpack');

后写以下代码:

其中红色框区域为webpack配置文件路径,就是原来的webpack.config.js,在此我已经改名为webpack.dev

new webpackDevServer()初始化

初始化后内部配置项说明在上面的参考文献地址已有,这里做简要说明:

new webpackServer({

    contentBase:"./dev", //根目录

  compress:true,//是否压缩// Set this if you want to enable gzip compression for assets

  historyApiFallback:true,// This is handy if you are using a html5 router.

  }).listen(9001,"localhost",function() {  //这里的端口号要区别于gulp server里面的端口号,否则判断不出来是否开启成功。

  console.log('webpack正在编译!');//其实可以不写为空,这里只是为了方便看出是否编译成功而写。

   });

})


最后,在gulp配置文件gulpfile.js中添加新的dev2任务(开启刚配置好的webpack server服务):

gulp.task('dev2',(done) =>{

runSequence(

'webpackDevServer',

done

)

});

运行 gulp dev2即可(gulp已全局安装)

============================================我是分割线===========================================

二、vue router (vue路由)

第一步,同样是安装

cnpm i vue-router --save

关于vue路由可查看官方文档:https://router.vuejs.org/zh-cn/installation.html(很详细)

按照文档所说,在项目源文件中的js上写入:

首先还是要引入vue 和vue-router (和文档上说的一模一样,前面已经安装了vue):

import Vue from 'vue';

import VueRouter from 'vue-router';

Vue.use(VueRouter);

                                  再写入router图一内容:

src源文件目录中app.js的代码

项目的index.html文件如图写入代码:

再次运行gulp dev2,如图所示表示成功

浏览器输入http://localhost:9001/#/home可以看到画面:

home页面

以上vue路由还可以把home和about页面单独拆分出来,再做引入到源js代码中,如图:


router.js文件为router图一中routes:[]单独拆分的写法

其中的新建了pagess文件夹,里面有子文件夹home,about分别都有index.js

图为home里面的index.js

home/index.js

同理about里的index.js一样的方法。

发现直接这样写:

export default[

{

path:'/home',

component: require('./pagess/home')

]

require('..')不能生效,导致没发现文件,原因是这样的写法es6不承认。

解决方法:安装babel-plugin-add-module-exports ,babel的一个插件

cnpm install babel-plugin-add-module-exports --save-dev

用法在:https://github.com/59naga/babel-plugin-add-module-exports

其实只需两步,①安装,②在babel的配置文件.babelrc中加入插件:

"plugins":[

"add-module-exports"

]

再次运行即可。

三、css处理

需要两个插件:

css-loader webpack中引入css所需

style-loader 把css动态写入html模板中

使用方法:

①安装 cnpm i --save-dev css-loader style-loader 

②在src源文件中app.js引入css

import './assets/css/reset.css'

③rule.js(webpack配置规则中)写入遇到css文件时的处理,如下图所示

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

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,237评论 7 35
  • 最近在学习 Webpack,网上大多数入门教程都是基于 Webpack 1.x 版本的,我学习 Webpack 的...
    My_Oh_My阅读 8,213评论 40 247
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 5,324评论 4 31
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,498评论 1 32
  • 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过...
    阳阳阳一堆阳阅读 3,336评论 0 5