JavaScript 中的 Require() 函数
Posted
技术标签:
【中文标题】JavaScript 中的 Require() 函数【英文标题】:Require() function in JavaScript 【发布时间】:2011-12-05 11:35:14 【问题描述】:当我打开 Chrome 14 的控制台并输入...
require
(或require()
,如果重要的话)
我得到:ReferenceError
。
这意味着 javascript 默认没有这个功能,对吧?至少在网络浏览器上。
我为什么要谈论这个? 我需要 JavaScript 的 Markdown 解析器。
怎么办? 我像往常一样打开了 GitHub 和 searched。第一个符合我需求的结果是this 和this。
通常(我对 JavaScript 不太擅长)我在我的代码之前使用 <script />
标签包含我想使用的脚本,然后......好吧 - 使用它。但是这次我不明白发生了什么...... :(
#1 脚本的用法:
var input = "# Heading\n\nParagraph";
var output = require( "markdown" ).tohtml( input );
print( output );
#2 脚本的用法:
var marked = require('marked');
console.log(marked('i am using __markdown__.'));
require()
是从哪里来的?感谢您的建议! :)
【问题讨论】:
另请参阅related question,了解如何选择特定标识符(例如特定函数)以实现与import
类似的功能。
【参考方案1】:
这是一种包含node.js 包的方法。幸运的是,您链接到的第一个包markdown-js
非常聪明。它会检查它是否包含在一个节点包中,如果没有,会将 markdown 对象设置为window.markdown
。因此,您只需将this file 包含在<script>
标记中,您就可以在全局范围内使用markdown
对象。
【讨论】:
【参考方案2】:从您链接到的页面:
使用 CommonJS 的简单方法是:
看起来require
来自CommonJS
【讨论】:
您还可以使用 Webmake - github.com/medikoo/modules-webmake 为浏览器打包 CommonJS/Node.js 模块。但是请注意,要移植的模块不应依赖于 Node.js 本机模块(如fs
或 path
),如果是这种情况,您需要为浏览器填充这些本机模块(已经有一些 shims 可用Github)。以上是关于JavaScript 中的 Require() 函数的主要内容,如果未能解决你的问题,请参考以下文章
通过 ejs 文件中的 javascript 访问 JSON
JavaScript - 使用 require 读取 JSON 文件的结果与 fs.readFileSync 不同
nodejs(第三篇):nodejs中的文件模块nodejs中的require与exportshttp模块补充JavaScript Standard Style