我的javascript应用程序是一个客户端应用程序。不运行在NodeJS中的,也不使用Require.js、AMD或ComponentJS。
但是,某些用于客户端的第三方JS库使用require方法。以下是大量使用的客户端库中的两个示例:
https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload.js#L26
https://github.com/moment/moment/blob/develop/moment.js#L264
这些库的使用是否意味着我需要包括RequireJS、AMD或ComponentJS?客户端中的“require”函数用法是否变得如此普遍,以至于我必须确保定义了它?
发布于 2015-06-30 03:34:16
不,您不必使用require()或定义它的环境/库。但是,这是一个选择。
每个脚本只是一次尝试支持多个模块模式/系统,如果可用的话使用require()。在使用它之前,他们检查是否存在与CommonJS模块相关的其他对象:
} else if (typeof exports === 'object') {if (!locales[name] && typeof module !== 'undefined' &&
module && module.exports) {不过,在moment.js的情况下,您只需要通过<script>来包含语言环境。loadLocale()可以用于访问任何已经加载的内容,但实际上没有require()就不能加载更多。
<script src="moment.js"></script>
<script src="locales/es.js"></script>
<script>
var es = loadLocale('es');
</script>project记录了一些支持混合系统的常见模式,比如这些模式。
https://stackoverflow.com/questions/31128968
复制相似问题