你可以在客户端代码中使用Requirefunction吗?

当我看这个最常见的答案是使用RequireJS

由于我在Node环境下开发,我首先查看了它们的Use with 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 browserify npm install browserify -g --save-dev获取Browserify
3)用下面的例子写require()来写你的js

main.js

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

的index.html

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

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

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

编辑
只是所以你知道,Requirejs和Browserify是不同的东西,并且require()你用于Browserify不是Requirejs。

你可以参考这里的例子github回购