2016 - 2024

感恩一路有你

js中替换所有的指定字符 js拆分字符串?

浏览量:2358 时间:2023-04-29 09:59:26 作者:采采

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以外的资源。

有什么办法在一个页面通过js修改另一个页面里对应标签的内容?

我想用一个前景页面来模拟背景。

跨选项卡页面,除非它们在同一个域中,并且相关事件嵌入在另一个页面中,否则可以使用postmessage或localstorge。如果是iframe,跨域是不可以的,同域可以。

其他的因果技术比如逆向生成或者修改浏览器参数或者劫持都不算,因为普通用户是不会做的。

模块 项目 技术 页面 代码

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。