seajs简介与使用
关于主js文件(入口,data-main)应该怎么写的问题?
关于主js文件(入口,data-main)应该怎么写的问题?
@xingrzdata-main是从C程序中的主文件派生出来的,也就是说入口文件、主文件、启动文件都是一个意思。
在Node.js中,所有文件都是模块。
$ node xx.js
Xx.js也是一个js模块文件。
所以在西雅图,
Main.js也是一个模块,可以是CMD模块,也可以是普通的js文件。
main.js作为CMD模块的好处是还可以通过构建工具进行合并压缩,这样就可以很容易的统一处理,甚至可以打包相关的js,在一些场景下,比如移动终端,对性能有帮助。
然而,唐 不要坚持。
目前比较稳定的网页自动加载javascript库有哪些?
谢谢邀请,但是描述太短,看不懂。一个网页载入JS库是什么意思?加载JS只有两种内联和外联。Inline是直接用script标签包装JS文件,outreach是用script标签的src属性链接JS文件。如果是指JS的模块化开发,那么他的原则还是这个外联,用的库是s
React解决了前端开发中的哪些痛点?
React是基于单向数据流的,最初起源于脸书,我认为最好的是解决页面刷新的问题。
说到HTML页面刷新,就不得不提到React的生命周期。刷新页面很方便。
Render:刷新页面将根据虚拟DOM diff算法更新页面。
component willmount:render之前第一次调用的接口。
ComponentDidMount:第一次渲染后调用的接口。
componentWillRec:页面属性props更改后调用的接口。
Shouldcompon:状态改变将被调用的接口。
Compon
js拆分字符串?
永远不变:横向切割业务/功能,纵向切割技术层。
首先,site.js按照功能划分成几个独立的模块。
:如果site.js只在一个页面上使用,会根据页面上的功能拆分成模块;或者如果在多个页面中使用site.js,可以拆分成一对一页面的小入口模块,这些页面之间可能存在类似的模块,这些模块有些模块也是分离的,入口模块放置各个页面的分离逻辑,组织共享模块。以一个聊天工具为例,可以拆解为:
虽然是并列放置,但是组件是有层次的,小组件有独立的功能。大组件负责初始化和组合小组件。
然后从技术架构的角度将代码分为多个层。
注意,并不是所有的项目都需要划分层次,层次可以根据项目的大小和复杂程度来划分。越是复杂的项目,越要注意把代码分成不同的层次,而简单的项目就没必要了,甚至代码都不需要放在不同的文件里。
技术分层的方案是MVC。无论你或流行的框架如何解读MVC,MVC都是一个随常数变化的架构。例如:
成分
有一个视图控制器,视图和控制器关系比较密切,可以放在一起:
Chat.js主要用于初始化其他模块,绑定事件,处理事件,充当控制器。
Style.css样式,没什么好说的。
有了模板,如果业务简单,还可以直接在chat.js中去掉拼接字符串
模型
如果项目很简单,这就是与服务器交互的部分,比如Ajax请求。如果项目比较复杂,可以分为两层:Ajax请求和模型(视图模型或者数据集中管理的地方)。这一部分可能在许多组件中使用,因此它可以是独立的。
路由器
不用说,如果你的项目复杂到要有路由器,那就单独放置。
单说组件:
模块基础包括:
Config:来自源全局或父组件的配置。
状态:自身的状态,比如聊天是流畅还是短暂,这是其他方法操作过程中判断进一步操作所需要的。
BindEvents:您可以在这里为$ selecting绑定事件放置大量代码。
EventHandler:许多事件处理程序。
ModifyView:对视图的许多更改
每一层都有许多模块,这些模块根据业务/功能进行细分。
工具:
细分的原理都在,工具的选择也不难。
项目并不复杂也不重要,去掉后模块也不多,可以使用像RequireJS,Sea.js这样的加载器主要是为了处理JS的模块化。直接压制后,它 不用合并就可以在线运行。
项目复杂而重要,模块很多,可以使用browserify和CommonJS来组织代码(也可以继续使用)RequireJS,生态和工具都可以)。上线时通过工具做好合并压缩工作。
如果你采用非常标准的模块化开发,即每个模块都有自己的模板、控制器、样式和图片,那么就用webpack。webpack的优势就像它的名字一样,不是js bundle,不是js loader,而是webpack,就是其他的资源也可以帮你很好的打包处理,对于完全模块化的开发要好得多。唐 不要考虑如何组织JS以外的资源。