1.我现在做一个wap项目,我首页是html,我现在有一个底部的导航栏
2.底部导航栏算是一个公用的组件,这样理解OK吧?
3.那现在几个页面都要引用这个导航栏的组件
4.怎么引用,git上看到一些例子,都要依赖npm install啊,然后npm run啊,然后运行server坚挺端口
5.我就不懂,我就不想跑一个server就不能做到吗?
6.我就只需要一些静态的页面而已,我到时候直接nginx映射这个目录去访问不行吗?非要node环境去跑起来?
7.我本身做后台的,对这些不太明白,希望大神能帮我解答一下
1.我现在做一个wap项目,我首页是html,我现在有一个底部的导航栏
OK,可以理解
2.底部导航栏算是一个公用的组件,这样理解OK吧?
OK,可以这么理解
3.那现在几个页面都要引用这个导航栏的组件
OK,组件其中一个目的就是为了复用
4.怎么引用,git上看到一些例子,都要依赖npm install啊,然后npm run啊,然后运行server坚挺端口
是的,网上通常都这么教,简单、快速
5.我就不懂,我就不想跑一个server就不能做到吗?
当然可以。网上教的各种
npm install
、npm run
都是为了跑一个本地的调试server,方便开发、调试而已。而线上部署采用什么策略没有半毛钱关系。不过确实有不少功能依赖server提供的能力才能正确运行(或者说和线上行为保持一致),所以启动一个调试server仍然是最好的方式。譬如:ajax
,各种前端路由工具,如果配合server的话,开发、调试效果更好。node
在这里不是必须的,只是因为她对前端工程师而言,更容易接受6.我就只需要一些静态的页面而已,我到时候直接nginx映射这个目录去访问不行吗?非要node环境去跑起来?
当然可以,如上提所搭,运行静态内容和
node
没有半毛钱关系。之所以大家都那么写自己的项目,不是因为这些项目依赖了某种server能力,而仅仅是方便开发、调试;而node
本身也是Javascript
的运行环境,对前端工程师来说,这是最不陌生的一种本地调试方案。打个比方,我现在不提供node
调试方案,给前端工程师写个文档用python
、java
甚至其它web技术栈搭本地调试服务器,对“前端”来说是不是更难接受?7.我本身做后台的,对这些不太明白,希望大神能帮我解答一下
做后台开发,我假设你对
web
技术应该并不陌生,“大前端”也仅仅是近几年才有的概念。之前我们写web还都是jsp
、asp
、php
。。。,以后端渲染为主(我相信你已经知道后端渲染的奥妙了)。那么再来谈谈最近几年火了的前端框架:angular
、react
、vue
。。。这些东西基本都是纯客户端的内容,但为什么还需要各种npm install
之类的node
操作?首先,当前端内容极大丰富后,我们也需要像
gem
、pip
、maven
一样的管理工具,否则类库太多,全部都拷贝到自己项目的libs
目录下面是及其危险且二逼的行为(人家更新,你不知道;人家不维护了你都不知道;还要浪费自己的源码存储给这些外来户)。于是基于node
的管理工具npm
就诞生了。其次,都是一些静态文件,干嘛高处一大堆工具、脚本?这里涉及到
javascript
发展史上的一些痛点,大家知道javascript
本来没想过被发明后能有如今的成就,于是在最初的设计上存在很多缺陷。譬如:没有模块系统(命名空间之类的概念)。当社会发展到现在“大前端”时代,前端所做的事情越来越复杂,一通乱写,随意的在html
加script
标签,各种全局变量已经不足以应付现在的应用需求。于是就有个各种规范:AMD
、Commonjs
、ES2015
。。。,但我们知道浏览器世界就是这么奇葩,我们需要兼容好多个古旧的二逼浏览器(如:IE8),所以新的规范虽然好,但却不能跑在所有浏览器上,这是病,得治。但我们治不了本(浏览器厂商太多了,无法统一)。于是机遇node
的各种转义工具如babel
、traceur
。。。又诞生了。写在最后,涉及的内容太多,实在一口气讲不完(何况我也不全懂),如果你不是转前端的话,喜欢学就看看,不喜欢学,就随便搞搞好了^^