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

最近,又来了点兴趣,读了读《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. PM的正交解调法

    1.PM的模拟调制过程 ​ PM信号是一种相位调制信号,其携带的信息保存在其信号的相位中,通过改变载波的相位来实现基带数据的传输. 其函数表达式如下: \[s(t) = A*cos(w_c*t + K ...

  2. 2024年1月Java项目开发指南10:vite+Vue3项目创建

    新建项目 安装router npm install vue-router 在src下新建目录router,在目录下新建index.js 在index.js里面配置路由 import { createR ...

  3. 利用openssl生成SM2公私钥对

      openssl 1.1.1+ 版本增加了对SM2 的支持,所以我们就能直接使用这些版本的opsnssl 生成 SM2的公私钥对. 首先我们得在Linux 或者Windows服务器中安装对应版本的o ...

  4. idea中terminal的配置

    idea中terminal的配置流程: File->settings->Tools->terminal 然后根据需要进行配置: 显示git操作界面 Shell path ==> ...

  5. 一场因OpenJDK引发的血案 之JavaFx

    https://zhuanlan.zhihu.com/p/103765203 案发现场 最近做了个项目,本地调试通过了,可在服务器上部署时却编译失败,报错如下 编译失败的原因是缺少javafx.uti ...

  6. Qt编写安防视频监控系统61-子模块5设备控制

    一.前言 设备控制模块,和云台控制模块都是用的onvif协议通信,可以对选中的通道的摄像机(ONVIF协议),进行获取参数.设置参数.手动校时.重启设备.抓拍图片.模拟报警等操作,可以对摄像机的明亮度 ...

  7. 利用Navicat向MySQL数据库中批量插入多条记录的方法

    利用Navicat向MySQL数据库中批量插入多条记录的方法: 1.执行包含多条记录的SQL脚本 当VALUES后面的值与表中的字段相比,缺少某些字段时,可采用指定相应的字段名的方式批量插入数据: I ...

  8. Java Web学生自习管理系统

    一.项目背景与需求分析 随着网络技术的不断发展和学校规模的扩大,学生自习管理系统的需求日益增加.传统的自习管理方式存在效率低下.资源浪费等问题,因此,开发一个智能化的学生自习管理系统显得尤为重要.该系 ...

  9. Vue数据更新不渲染页面的问题

    一. 问题现象 在通过数组下标的方式修改集合元素,元素的值确实是更新了,但是页面不能重新渲染. 二. 原因分析 Vue官方文档传送门 三. 解决方案 // 针对数组使用 this.$set(arr,i ...

  10. 使用Docker部署的基于binlog实现Mysql8

    概念 MySQL 基于 Binlog 的主从复制(Master-Slave Replication)是 MySQL 数据库中实现数据复制的一种机制.在这种复制模式下,主库(Master)记录所有对数据 ...