玩前端,换不到一颗米,纯粹是基于兴趣(我也希望能换到米,但真到那一天,说不定兴趣就没了,^_^),感觉玩这个能带来快乐,仅此而已。

最近,又来了点兴趣,读了读《vue实战》,自然免不了再次接触npm,webpack等这些东西。

于是,按图索骥,见到什么不懂的就按照套路,继续百度,感觉以前模糊的一些概念理解的稍微明白了些,稍作整理,记录在此。

为什么要学习大前端?

1、传统制作网站,用不到现在称为大前端的这些概念,找一个cms网站框架,比如phpcms,按照框架的教程,简单制作几个模板就行了。如果页面比较多,最多再引入某个前端框架(比如layui),这样效率会高一些。

2、再高端一点,可以利用tp等php框架,从一砖一瓦开发制作网站,这样的网站是完全定制的,从数据库设计到后台的设计编码等等,自然免不了要找一个前端框架集成,用的最多的就是基于jquery的前端框架。

我理解,现在互联网上的站点,绝大多数都是传统方法设计制作的。

这种方法大家用的时间很长了,都习惯了,而且还是目前的主流方案,效率上没见到有什么大问题。至于有些文章说现在网站系统越来越复杂,引入的js越来越多,为了解决js依赖问题,所以要学npm,学大前端。这个我还理解不了,可能我层次低。我觉得一个网站系统能用到多少js呢?也没多少啊,况且很多功能强大的js出厂的时候也经过封装,实际上页面上也用不了几个script标签。

那既然老办法能用,为什么要学大前端呢?因为这玩意新潮前卫。

为什么前卫?

3、node的出现,给js编程引入了很多新东西。比如js代码的模块化,传统基于浏览器的js代码没法实现,但是node能实现。这样一来,代码更加规范,更加好理解。这是node的优势,还有其它的优势,但我只能理解到模块化这个层次。为了利用这个优势,所以好多人转移到node环境来写代码。特别是js包管理工具npm,确实好用,只要你搞一个package.json配置文件,所有的依赖npm全会替你搞定,有package.json就好,相关代码不一定要下载,二次开发的时候,只要运行一下npm install,依赖就会全部下载好,你编写完代码,再次发布的时候,代码不必附上,只要发布一个package.json就行了,下一个使用的人,自然明白怎么下载这些包。

4、为了利用包管理的便利性,一些网站前端就可以在这个环境下面设计。

5、问题是,无论你用什么技术设计制作的网站,最终还得回到浏览器环境去呈现。代码编辑的再优雅再好看,浏览器不认识还是白搭。

6、webpack就派上用场了。webpack就是做翻译工作的,把在node环境下面编好的代码转换为浏览器能认识的格式。大体就是这么回事,不然的话,一个人在node环境下编好的代码,仅仅依赖包node_modules下面的文件就成千上万,发布到服务器上也不现实,而且,好多包都是工具,没啥直接用处(最主要的,浏览器也不认识它啊)。webpack用众多的专门的工具——loader,把用到的转换,用不到的丢弃,格式不符合的进行转换。总之,一个目的,就是让最终的代码能让浏览器认识,而且尽量代码要少,要小。

至于vue,据说可以应付直接操作dom带来的效率问题(教材上是这么说的)。可是,从学习和入手的角度看,jquery比vue强多了。至于那点带宽,在现在网速越来越快的情况下,我感觉真是可以忽略不计的。

就写到这里吧,也不知道理解的对不对。

关于vue,npm,webpack,nod的一点心得的更多相关文章

  1. 每天记录一点:NetCore获得配置文件 appsettings.json vue-router页面传值及接收值 详解webpack + vue + node 打造单页面(入门篇) 30分钟手把手教你学webpack实战 vue.js+webpack模块管理及组件开发

    每天记录一点:NetCore获得配置文件 appsettings.json   用NetCore做项目如果用EF  ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...

  2. 运行vue init webpack vueTest时报错

    前言:好久没动vue项目了,早上心血来潮.准备写一个项目,然后坚持在github更新,不为别的,只为养成一个习惯. 运行vue init webpack vueTest时,报了下面的错误: 当时我思考 ...

  3. webpack vuejs项目学习心得

    最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/d ...

  4. Vue.js——webpack

    Vue.js——60分钟webpack项目模板快速入门 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开 ...

  5. vue+node+webpack搭建环境

    一.环境搭建 1.1.去官网安装node.js( http://www.runoob.com/nodejs/nodejs-install-setup.html  ) 注意node的版本,只有支持和谐模 ...

  6. Vue.js + Webpack

    vue.js Vue.js是一个构建数据驱动的 web 界面的库.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件 以上是Vue.js官方定义,故名思议,以数据驱动视 ...

  7. vue.js+webpack在一个简单实例中的使用过程demo

    这里主要记录vue.js+webpack在一个简单实例中的使用过程 说明:本次搭建基于Win 7平台 Node.js 安装官网提供了支持多种平台的的LTS版本下载,我们根据需要来进行下载安装.对于Wi ...

  8. 【非专业前端】vue+element+webpack

    先点这里(- ̄▽ ̄)- 环境搭建 默认你已经安装了node.js 下面安装vue和webpack npm install -g @vue/cli npm install -g @vue/cli-ini ...

  9. VUE + vue-cli + webpack 创建新项目

    首先记录一下命令. 这是一个睿智新手的笔记. p.s.这是配置好环境以后的命令. ----------------------------------------------- $ npm insta ...

  10. vue init webpack nameXXX 报错问题:

    vue新建demo项目报错如下: M:\lhhVueTest>vue init webpack L21_VueProject vue-cli · Failed to download repo ...

随机推荐

  1. 【数据结构】【直接排序法】Java代码

    public class 直接排序 { /** * 直接排序法 仅排序1轮 * @param arr 数组 * @param ji 基准索引,填写几,就以谁为基准进行一次划分 */ public st ...

  2. Qt/C++摄像头采集/二维码解析/同时采集多路/图片传输/分辨率帧率可调/自动重连

    一.前言 本地摄像头的采集可以有多种方式,一般本地摄像头会通过USB的方式连接,在嵌入式上可能大部分是CMOS之类的软带的接口,这些都统称本地摄像头,和网络摄像头最大区别就是一个是通过网络来通信,一个 ...

  3. 这些小 Bug,99% 的程序员都写过!

    "程序怎么运行不了,不应该啊?" "程序怎么能运行了,不应该啊!" 这句话是不是让程序员朋友们的 DNA 动了呢?今天鱼皮分享一些新手程序员常犯的小 Bug,很 ...

  4. DVWA靶场JavaScript Attacks漏洞low(低),medium(中等),high(高),impossible(不可能的)所有级别通关教程

    JavaScript Attacks (前端攻击) JavaScript Attacks(前端攻击)漏洞通常涉及利用Web应用程序中的安全漏洞,特别是在JavaScript代码的使用和实现上,从而对用 ...

  5. 一点区块链资料-copy

    1. 场景描述 (1)今天找资料,无意中看到15年底-16年初弄的关于区块链的资料,当时写了个交流汇报区块链的ppt,感觉挺好的,共享下,希望能帮助朋友们理解区块链. (2)背景:15年底,老板从朋友 ...

  6. 编写高性能java程序

    为什么你写的程序运行效率不高:为什么你的程序会OutOfMemory:为什么你的程序会经常OutOfMemory:看看你的编程习惯是否符合36计1.JVM 管理两种类型的内存:堆内存(heap),栈内 ...

  7. ffmpeg简易播放器(3)--使用ffmpeg解码视频并用opencv显示视频

    ffmpeg的安装 这里我采用的linux下编译源码的方式安装ffmpeg,当然也可以使用apt-get等方式安装,但是我当时使用apt-get安装的ffmpeg使用cmake总是找不到ffmpeg的 ...

  8. 一、CAN协议基础知识

    一.CAN总线基础知识 注:参考江科大教程,瑞萨电子<CAN入门教程>. CAN (Controller Area Network),是ISO国际标准化的串行通信协议.CAN协议经过ISO ...

  9. Q:记录一次ssh毫无规律的断线

    查找tailf /var/log/secure 网上一般是这三个原因 1.ssh服务端配置 vim /etc/ssh/sshd_config #客户端每隔多少秒向服务发送一个心跳数据,0代表不发送#C ...

  10. Linux mint安装外部软件

    //更新系统  sudo apt-get update更新ruanjian sudo apt-get upgrade更新系统 //安装浏览器 sudo apt-get install chromium ...