关于近期使用webpack所引发的思考
近期,(使其也挺长时间了)。使用了一段时间的webpack。
但是在使用期间个人感觉并不想网上说的那样好,个人对webpack的评价并不是很高,甚至有点反感使用webpack。
个人感觉使用webpack实属迫不得已。
为什么使用webpack,答,为了模块化。
为什么要使用webpack来实现模块化,答,JS语言自身对模块化的不友好。
So,I am not happy....
JS产生之初的身份是一种运行于浏览器的脚本语言,功能很专一,运行环境也很专一。
但是随着NodeJs的横空出世,everything is change 。
JS的功能越来越多,速度越来越快,依赖包也越来越多,运行环境也不再专一。
But,JS的一些与生俱来的特性,或者说是弱点也越来越明显,越来越突出,甚至成了阻碍JS进一步发展的绊脚石。
比如没有多线程,比如没有“包”的概念(借用Java的概念)
没有多线程,就没法充分使用硬件设备性能,催生了多种的解决方案,无论Promise,无论 async/await,无论回调,但是无论多少方案,本质还是单线程。
没有包的概念,代码的扩展,大型项目的开发,难上加难。催生了众多的所谓“模块化”解决方案,纷繁缭乱。
回正题。webpack想解决什么问题那?
个人认为还是模块化问题,
webpack本身只是个打包器,但是在打包方面本身并没有多少优势,只是在模块化打包方面效果比较突出。
webpack的出现弥补了JS在模块化方面的一些先天不足。
webpack之荣,JS之耻。
关于近期使用webpack所引发的思考的更多相关文章
- SQLAlchemy并发写入引发的思考
背景 近期公司项目中加了一个积分机制,用户登录签到会获取登录积分,但会出现一种现象就是用户登录时会增加双倍积分,然后生成两个积分记录.此为问题 问题分析 项目采用微服务架构,下图为积分机制流程 ...
- Spring之LoadTimeWeaver——一个需求引发的思考---转
原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引 ...
- 由SecureCRT引发的思考和学习
由SecureCRT引发的思考和学习 http://mp.weixin.qq.com/s?__biz=MzAxOTAzMDEwMA==&mid=2652500597&idx=1& ...
- 解决一道leetcode算法题的曲折过程及引发的思考
写在前面 本题实际解题过程是 从 40秒 --> 24秒 -->1.5秒 --> 715ms --> 320ms --> 48ms --> 36ms --> ...
- 【思考】由安装zabbix至排障php一系列引发的思考
[思考]由安装zabbix至排障php一系列引发的思考 linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识: 由于linux本身的应用依赖的库和其它环境环环相扣,但又没 ...
- 由<a href = "#" > 引发的思考
原文:由<a href = "#" > 引发的思考 前阵子在一个移动项目中,通过 <a href = "#" > 的方式 绑定clic ...
- 曲演杂坛--一条DELETE引发的思考
原文:曲演杂坛--一条DELETE引发的思考 场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: CREATE TABLE TB001 ( ID ,) PRIMARY KEY, D ...
- class_copyIvarList方法获取实例变量问题引发的思考
在runtime.h中,你可以通过其中的一个方法来获取实例变量,那就是class_copyIvarList方法,具体的实现如下: - (NSArray *)ivarArray:(Class)cls { ...
- 由一个emoji引发的思考
由一个emoji引发的思考 从毕业以来,基本就一直在做移动端,但是一直就关于移动端的开发,各种适配问题的解决,在日常搬砖中处理了就过了,也没有把东西都沉淀下来,觉得甚是寒颜.现就一个小bug,让我们来 ...
随机推荐
- linux学习(4):linux常用命令(50个)
linux常用命令(50个) 1. find 基本语法参数如下: find [PATH] [option] [action] # 与时间有关的参数: -mtime n : n为数字,意思为在n天之前的 ...
- Nginx Windows版安装及域名绑定
1.到 http://nginx.org/en/download.html 下载一个稳定版本1.16.1 2.解压,放到C盘根目录下,如C:\nginx-1.16.1,此时双击nginx.exe就启动 ...
- spring @Autowired注入map
注入map,平常一般不会这么做,今天看一段老代码时发现有这么个用法.补习一下. @Autowired 标注作用于 Map 类型时,如果 Map 的 key 为 String 类型,则 Spring 会 ...
- electron---表单验证问题
使用elementui进行表单提交数据的时候,经常会需要用到表单验证的功能,下面就来说说这个功能. <template> <div> <el-form :model=&q ...
- Ehcache 学习入门
目录 介绍 导入jar包 创建配置文件 第一个使用示例 配置文件解析 第一部分:CacheManager 第二部分:diskStore 第三部分:cache 总结 介绍 网上有很多关于Ehcache的 ...
- BDC里的 BDC_OKCODE
BDC OKCODE其实都是function code,对于处理一些BDC问题 非常有用, 列出一些知道的 OKCODE BDC_OKCODE 功能描述 =/00. Enter = /8 ...
- Python - Django - jQuery 实现简单的 AJAX
AJAX 局部刷新实例: 使用 jQuery 实现基本的发送 AJAX 请求 index.html: <!DOCTYPE html> <html lang="en" ...
- RSA 系统找不到指定的文件
未测试 System.Security.Cryptography.RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); 改为 C ...
- SpringMVC的拦截器讲解
Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理. 用户可以自己定义一些拦截器来实现特定的功能. 谈到拦截器,还要向大家提一个词 ...
- [转帖]FastDFS图片服务器单机安装步骤
FastDFS图片服务器单机安装步骤 https://www.cnblogs.com/yuesf/p/11847103.html 前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDF ...