javascript - 如何正确划分不同页面的javascript逻辑?
问题描述
例如,我有一个网站,其中包含一些页面,例如以下示例:
- 登录.html
- 用户信息.html
- 产品.html
- 产品.html
我对这些页面有不同的脚本。所以我有:
- 登录.js
- 用户信息.js
- 产品.js
- 产品.js
我可以将这些文件合并为一个或使用 ES6 模块导入并获得“scripts.min.js”。
但是,如果我在 login.js 中有类似的东西:
document.ready(function() {
alert('Hello, this is logic for login.js');
})
然后我收到所有页面的此消息。
我正在寻找在页面之间划分逻辑的正确方法。不幸的是,我发现的所有关于 JavaScript 架构的信息都是关于 SPA 的。
在普通网站中组织 JS 结构以使其可维护和可扩展的正确方法是什么?
解决方案
更新:如果您希望某些代码仅在特定页面上执行,您可以执行以下操作(onload):
var _tgt = window.location.href; //where are we
var _is_login = _tgt.search("login");
if (_is_login !== -1) {
console.log("Do something in login");
}
您可以使用节点模块来修剪您的代码:
- 删除注释并压缩:uglify-js npm 模块。
- 要组合各种 js 文件,您可以执行以下操作:
- 使用(例如)npm 模块 fs-readdir-recursive 和 fs 读入文件
- 使用例如正则表达式删除不需要的内容
- 创建一个新文件(合并)
推荐阅读
- mysql - MYSQL使用FIELD函数和多列自定义顺序
- python - 如何在 Python 中使用 kafka 客户端描述一个主题
- python - 如何同步一些 Flask-RESTful 资源?
- python - Python没有关闭文件,Windows 10
- html - 使用 Angular Material 表在特定索引处显示隐藏的 Div 元素
- c# - 如何附加到“dotnet”正在使用的文件
- go - 在 Go 的多个地方收听一个频道
- python - 如何在从 python selenium 脚本打开私人浏览器时禁用“不安全连接”?
- bash - 将两个连续的行合并为一个(寻求适用于 Windows 文件的解决方案)
- azure - 为什么 IoT 中心消息在存储 JSON blob 中未正确解码?