zoukankan      html  css  js  c++  java
  • webpack开发

    在webpack的构建过程中我们需要用到一些基本构建开发工具来提升我们的工作效益

    webpack常用开发工具模块

    • source map 自动追踪代码错误所在的文件
    • webpack watch 观察者模式自动编译
    • webpack-dev-server 指定目录启动本地服务
    • webpack-dev-middleware 传递文件给服务器

    webpack中sourcemap的配置

    sourcemap是为了解决开发代码与实际运行代码不一致时帮助我们debug到原始开发代码的技术。尤其是如今前端开发中大部分的代码都经过编译,打包等工程化转换。比如开发环境下
    用scss写样式,想在浏览器中在线半级css那样编辑scss就不是那么容易了。
    eg:如果将三个源文件(a.js,b.js和c.js)打包到一个bundle(bundle.js)中,而其中一个源文件包含一个错误,那么堆栈跟踪就会简单地指向到bundle.js。这并没有什么帮助,
    因为你可能需要准确地知道错误来自哪个源文件

    a.js内容如下

    function a(){
    	console.log("page a");
    	
    }
    export default{
    	b,
    	a:a
    }
    
    

    b.js内容如下

    function b(){
    	console.log("page b");
    	
    }
    export default{
    	b:b
    }
    
    

    c.js内容如下

    function c(){
    	console.error("page c");
    	
    }
    export default{
    	c:c
    }
    
    

    webpack.config.js内容如下

    没有配置sourcemap

    const path = require("path");
    const htmlWebpackPlugin = require("html-webpack-plugin");
    module.exports = {
    	entry:{
    		a:"./src/a.js",
    		b:"./src/b.js",
    		c:"./src/c.js"
    	},
    	output:{
    		filename:"[name].js",
    		path:path.resolve(__dirname,"dist")
    	},
    //	devtool: 'inline-source-map',
    	plugins:[
    		new htmlWebpackPlugin()
    	]
    }
    
    
    

    结果如下

    结论:在没有配置上sourcemap的时候,debug模式下错误是在打包后的文件
    webpack.config.js里配置上sourcemap

    const path = require("path");
    const htmlWebpackPlugin = require("html-webpack-plugin");
    module.exports = {
    	entry:{
    		a:"./src/a.js",
    		b:"./src/b.js",
    		c:"./src/c.js"
    	},
    	output:{
    		filename:"[name].js",
    		path:path.resolve(__dirname,"dist")
    	},
    	devtool: 'inline-source-map',
    	plugins:[
    		new htmlWebpackPlugin()
    	]
    }
    

    结果如下:

    结论:在没有配置上sourcemap的时候,debug模式下错误是在源文件

    webpack watch观察者模式

    在packge.json文件中添加一个用于启动webpack观察者模式的npm script脚本

    {
    	"scripts": {
    	  	"watch":"webpack --watch",
    	    "test": "echo "Error: no test specified" && exit 1",
    	    "build": "webpack"
    	  },
    }
    

    之后使用npm run watch就可以观察文件了

    使用webpack-dev-serve

    webpack-dev-server

    使用webpack-dev-middleware

    webpack-dev-middleware

  • 相关阅读:
    Mac 安装brew的正确姿势
    Jmeter分布式压测及踩坑记录
    Jmeter录制脚本
    mitmproxy使用详解
    Python单元测试框架pytest常用测试报告类型
    基于Java+Spring Boot开源项目JeeSite的Jenkins持续交付介绍
    Maven入门
    Linux Shell 编程基础详解——吐血整理,墙裂推荐!
    使用Jenkins+Blue Ocean 持续构建自动化部署之安卓源码打包、测试、邮件通知
    使用Jenkins+Pipline 持续构建自动化部署之安卓源码打包、测试、邮件通知
  • 原文地址:https://www.cnblogs.com/dehenliu/p/12523144.html
Copyright © 2011-2022 走看看