是否可以在客户端代码中使用 Require 函数

Can you use the Require function in client side code?

本文关键字:Require 函数 代码 客户端 是否      更新时间:2023-09-26

查找此内容时,我得到的最常见答案是使用RequireJS。

由于我在 Node 环境中进行开发,因此我首先查看了它们的"与 Node 一起使用"部分,并按照概述使用 npm install requirejs 和正确安装的所有文件安装了包。

其用法部分的第一行显示以下代码行: var requirejs = require('requirejs');

输入这行代码时,我收到与我一直试图解决的相同错误Error: require is not defined

在这一点上,我确信我只是在这里错过了一些东西。我虽然RequireJS的目的是允许您在本地使用 require() 函数?

我只是想在我的一个控制器中包含.js。有没有简单或有效的方法可以做到这一点?

谢谢你的时间。

看看 Browserify。我认为这就是你要找的。

它允许您在客户端使用require('module'),就像在 Nodejs 代码中一样。

您可以按照以下步骤使用它:

1) 安装 Nodejs
2)使用npm install browserify -g --save-dev
获取浏览器化3)使用如下例
require()编写您的js

主.js

var $=require('jquery');
$('#test').text('browserify working');

索引.html

<body>
<p id='test'></p>
<script type='text/javascript' src='bundle.js'></script>
</body>

4) 使用npm install jquery --save
获取jquery5)编译main.js到bundle.js使用browserify main.js -o bundle.js。在这里浏览器将读取main.js并将其转换为浏览器可以理解的js代码,因为浏览器无法理解require()。简单来说,browserify将js文件翻译为浏览器。
(正如您在索引中看到的脚本标记.html使用 bundle.js 作为源而不是 main.js)

6)在浏览器中打开索引.html。

编辑
正如您所知,Requirejs 和 Browserify 是不同的东西,您用于 Browserify require()不是 Requirejs。

你可以参考示例 github 存储库

这里