是否可以将 Java 脚本文件排列到“命名空间”以避免冲突?

Is it possible to arrange Java Script files in to 'name spaces' to avoid conflicts?

提问人:Ayo Adesina 提问时间:3/9/2019 更新时间:3/9/2019 访问量:50

问:

我正在使用高级 html 模板构建一个网站,该模板的一部分是 Javascript。所以在模板中,我有这样的东西 - 它在每一页的“主模板”中。

//Template JS
<script src="/js/core.min.js"></script>
<script src="/js/script.js"></script>

此外,作为本网站的一部分,我正在使用电子商务插件,这些文件也需要在页面上,所以像这样:

//Plgin JS

    <script src="~/Scripts/jquery-1.10.2.min.js"></script>
        <script src="~/Scripts/jquery.validate.min.js"></script>
        <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
        <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
        <script src="~/Scripts/underscore.min.js"></script>
        <script src="~/Scripts/bootstrap.min.js"></script>
 <script src="~/App_Plugins/Merchello/client/js/merchello.ui.min.js"></script>
        <script src="~/App_Plugins/Merchello/client/js/merchello.ui.settings.js"></script>
        <script src="~/App_Plugins/Merchello/client/js/fasttrack.js"></script>

问题是当 JS 冲突都一起出现在页面上时。有没有办法以一种他们只能看到该组中的内容的方式对 Java 脚本文件进行分组......像命名空间一样的概念?

还是我只需要全部解开?

JavaScript jQuery 命名 javascript 命名空间

评论

1赞 Wex 3/9/2019
您可能想阅读 javascript 模块加载器,例如 requirejs.org 或 capmousse.github.io/include.js
0赞 Kevin B 3/9/2019
不,它们都将在同一个“空间”中运行。

答:

-1赞 maksimr 3/9/2019 #1

在同一页面中使用标签,因为浏览器只创建一个全局空间,该空间在所有脚本之间可见和共享。scripthtml

您可以尝试使用一些模块打包器,例如 webpackrequirejs 等。 或者,您可以使用 iframe 在页面内创建一个页面,并将插件 html 和脚本移动到 .iframe