你可以在客户端代码中使用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回购