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

最近,又来了点兴趣,读了读《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. 04. PART 2 IdentityServer4 ASP.NET Core Identity .NET Core 3.1

    04. PART 2 IdentityServer4 ASP.NET Core Identity .NET Core 3.1 如果您已经来到这里,那么祝贺你的坚持,最难的部分已经完成了.我们仅仅需要的 ...

  2. 2024-12-21:从魔法师身上吸取的最大能量。用go语言,在一个神秘的地牢里,有 n 名魔法师排成一列。每位魔法师都有一个能量属性,有的提供正能量,而有的则会消耗你的能量。 你被施加了一种诅咒,吸

    2024-12-21:从魔法师身上吸取的最大能量.用go语言,在一个神秘的地牢里,有 n 名魔法师排成一列.每位魔法师都有一个能量属性,有的提供正能量,而有的则会消耗你的能量. 你被施加了一种诅咒,吸 ...

  3. Qt通用方法及类库3

    函数名 //设置全局样式 static void setStyle(QUIWidget::Style style); static void setStyle(const QString &q ...

  4. Solution Set -「DS 专题」兔年的兔子写 DS 会有小常数吗?

    目录 Day 1 「Ynoi 2009」「洛谷 P6109」rprmq1 ^ 「Ynoi Easy Round 2021」「洛谷 P8512」TEST_152 「Ynoi 2005」「洛谷 P7907 ...

  5. 多云架构,JuiceFS 如何实现一致性与低延迟的数据分发

    随着大模型的普及,GPU 算力成为稀缺资源,单一数据中心或云区域的 GPU 资源常常难以满足用户的全面需求.同时,跨地域团队的协作需求也推动了企业在不同云平台之间调度数据和计算任务.多云架构正逐渐成为 ...

  6. asp.net core中,使用CancellationToken在用户终止请求时取消所有异步操作+ abp中的设计

    如果一个Controller.Action里的处理非常耗时,比如读数据库.文件操作.调用第三方接口等此时用户随时可能关闭浏览器.F5刷新网页等操作.但是服务端的耗时代码任然在执行,这太浪费了,既然用户 ...

  7. .NET 开发的分流抢票软件,不做广告、不收集隐私

    前言 每年春节大家必备的抢票工具Bypass-分流抢票.分流抢票是一款免费无广适用于PC端的自动分流抢票软件. 分流抢票,是以用户为中心.人性化的抢票软件.不做广告.不做推广.不携带病毒.不收集隐私信 ...

  8. [转载]「服务」WCF中NetNamedPipeBinding的应用实例

    「服务」WCF中NetNamedPipeBinding的应用实例 WCF中有很多种绑定,根据官方的说法,NetNamedPipeBinding是适用于同一台主机中不同进程之间的通信的. 今天终于实现了 ...

  9. 2020年最新Redis面试题-copy

    什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库. Redis 可以存储键和 ...

  10. ClickHouse介绍-示例

    示例 GitHub 事件数据集 数据集包含了GitHub上从2011年到2020年12月6日的所有事件,大小为31亿条记录.下载大小为75 GB,如果存储在使用lz4压缩的表中,则需要多达200 GB ...