Vue基础技术 webpack-dev-server的配置和使用_loglevel webpack-dev-server

学习分享,共勉

题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】


1.2 修改npm script脚本,为不同的指令指定不同的环境变量


![](https://img-blog.csdnimg.cn/20190714075733773.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2did2luZQ==,size_16,color_FFFFFF,t_70)


1.3 在webpack.config.js文件中读取npm script脚本命令携带的环境变量,脚本命令中设置的环境变量都会存在process.env这个对象里面,因此我们可以通过这个对象拿到我们设置的所有环境变量,然后进行判断来处理不同环境下的配置信息



const path = require(‘path’)

const isDev = process.env.NODE_ENV === ‘development’

const config = {
target: ‘web’,
entry: path.join(__dirname, ‘src/index.js’),
output: {
filename: ‘bundle.js’,
path: path.join(__dirname, ‘dist’)
},
module: {
rules: [
{
test: /.vueKaTeX parse error: Expected 'EOF', got '}' at position 53: …r' }̲, {…/,
use: [
‘style-loader’,
‘css-loader’
]
},
{
test: /.stylKaTeX parse error: Expected 'EOF', got '}' at position 163: … ] }̲, {…/,
use: [
{
loader: ‘url-loader’,
options: {
limit: 1024,
name: ‘[name]-image.[ext]’
}
}
]
}
]
}
}

if (isDev) {
config.devServer = {
port: 9999,
host: ‘0.0.0.0’, // 设置值:0.0.0.0的好处,可以通过localhost访问,也可以通过127.0.0.1访问,还可以通过本机的ip进行访问
overlay: {
errors: true // 如果在webpack编译的过程中有任何的错误直接输出到页面上
}
}
}

module.exports = config


1.4 借助插件html-webpack-plugin来生成html文件并包含编译打包后的js等资源


1.4.1 安装插件包



➜ vue-demo npm install html-webpack-plugin@2.30.1
npm WARN vue-demo@1.0.0 No repository field.

  • html-webpack-plugin@2.30.1
    added 31 packages from 20 contributors and audited 5598 packages in 6.359s
    found 5 vulnerabilities (2 low, 1 moderate, 2 high)
    run npm audit fix to fix them, or npm audit for details
    ➜ vue-demo

1.4.2 配置插件


![](https://img-blog.csdnimg.cn/2019071408181248.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2did2luZQ==,size_16,color_FFFFFF,t_70)


1.5 我们使用Vue、React这些框架的时候,我们一定要去使用一个webpack的plugin,这个plugin叫webpack.DefinePlugin,这个插件使用来做什么的呢?它是给我们的webpack在编译的过程当中以及在我们的页面上和我们自己编写的js代码的时候,如果想要去判断当前项目的环境,我们都可以通过调用process.env.NODE\_ENV来获取环境信息进行逻辑判断,也就是说在这里面定义的变量信息在我们编写的代码中是可以引用到的。提醒一点就是现在Vue及React这些框架的代码,它们会根据不同的环境去进行区分打包,Vue的dist目录里面有非常多的不同版本的Vue的源代码,然后在开发环境它是一个比较大的版本,它里面会包含很多错误信息的提示以及很多的功能,而这些功能在正式环境下是没必要去使用的,因为一方面它会加大文件的大小,另外一方面它会让代码的运行效率降低很多,所以我们在开发环境就使用development这时好处有很多,比如Vue会给我们很多开发错误的提醒,但是在正式环境我们不希望这些代码去使用,所以我们要使用这个变量去进行环境的区分,因为webpack再去打包的过程中也会根据这个变量去区分源代码的版本去打包进去。需要注意procee.env.NODE\_ENV的值需要带双引号,否则就是procee.env.NODE\_ENV = development 而不是 procee.env.NODE\_ENV = "development" 就会出错。


![](https://img-blog.csdnimg.cn/20190714084054183.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2did2luZQ==,size_16,color_FFFFFF,t_70)


1.6 执行启动webpack-dev-server的指令



➜ vue-demo npm run dev

vue-demo@1.0.0 dev /Users/a1/Documents/workspace/vue-demo
cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js

Project is running at http://0.0.0.0:9999/
webpack output is served from /
No parser and no filepath given, using ‘babel’ the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred.
Hash: 0a60bfb8c38fce0e54d5
Version: webpack 3.10.0
Time: 1462ms
Asset Size Chunks Chunk Names
beijing-image.jpg 902 kB [emitted] [big]
bundle.js 586 kB 0 [emitted] [big] main
index.html 182 bytes [emitted]
[5] multi (webpack)-dev-server/client?http://0.0.0.0:9999 ./src/index.js 40 bytes {0} [built]
[6] (webpack)-dev-server/client?http://0.0.0.0:9999 7.95 kB {0} [built]
[7] ./node_modules/url/url.js 23.3 kB {0} [built]
[14] ./node_modules/strip-ansi/index.js 161 bytes {0} [built]
[16] ./node_modules/loglevel/lib/loglevel.js 7.86 kB {0} [built]
[17] (webpack)-dev-server/client/socket.js 1.05 kB {0} [built]
[19] (webpack)-dev-server/client/overlay.js 3.73 kB {0} [built]
[24] (webpack)/hot nonrecursive ^./log$ 170 bytes {0} [built]
[26] (webpack)/hot/emitter.js 77 bytes {0} [built]
[28] ./src/index.js 280 bytes {0} [built]
[29] ./node_modules/vue/dist/vue.runtime.esm.js 209 kB {0} [built]
[33] ./src/app.vue 1.81 kB {0} [built]
[40] ./src/assets/css/index.css 1.03 kB {0} [built]
[44] ./src/assets/css/index.styl 1.17 kB {0} [built]
[46] ./src/assets/images/beijing.jpg 63 bytes {0} [built]

总结

根据路线图上的重点去进行有针对性的学习,在学习过程中,学会写笔记,做总结。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

这里分享一些前端学习笔记:

  • html5 / css3 学习笔记

  • JavaScript 学习笔记

  • Vue 学习笔记

.csdnimg.cn/img_convert/af0c75f32f6618baccf39ce440a0fb5c.png)

  • Vue 学习笔记

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值