如何在没有Node.js的情况下使用JS require()

时间:2014-02-17 00:02:58

标签: javascript node.js require

这可能是个蹩脚的问题,但是如何在常规JavaScript中实现与require()(Node.js)相同的功能呢?

真的很感激一些帮助。

2 个答案:

答案 0 :(得分:9)

有几种服务可以让你这样做。

最受欢迎的是Browserify

基本上,它需要通过语法树读取文件并将其转换为类似于RequireJS的样式。

请注意,这需要额外的编译步骤。 (我们最终会在ES6中获得模块,所以那就是:))

答案 1 :(得分:6)

http://requirejs.org/docs/start.html

存在一个名为RequireJS的模块加载器,用于浏览器内使用,无需使用Node.js或Rhino。

要使用它,请下载并保存脚本并将其包含在您的页面中

<!DOCTYPE html>
<html>
    <head>
        <title>My Sample Project</title>
        <!-- data-main attribute tells require.js to load
             scripts/main.js after require.js loads. -->
        <script data-main="scripts/main" src="scripts/require.js"></script>
    </head>
    <body>
        <h1>My Sample Project</h1>
    </body>
</html>

data-main属性将指向您的主脚本,您可以使用以下命令加载其余脚本:

require(["helper/util"], function(util) {
    //This function is called when scripts/helper/util.js is loaded.
    //If util.js calls define(), then this function is not fired until
    //util's dependencies have loaded, and the util argument will hold
    //the module value for "helper/util".
});

查看http://requirejs.org处的文件以获取更多信息。