我是javascript的新手,我在浏览器端遇到了与npm模块一起使用的一些问题。有人可以指点我正确的方向吗?
我有一个类似
的模块结构add.js
function add (a,b) {
return a+b;
}
module.exports.add = add;
multiply.js
function multiply (a,b) {
return a*b;
}
module.exports.multiply = multiply;
我有一个名为calculator.js的消费者模块,如下所示:
var adder=require('./add');
var multiplier=require('./multiply');
console.log(adder.add(1,2));
console.log(multiplier.multiply(1,2));
function sum(a,b){
return adder.add (a,b);
}
function product(a,b){
return multiplier.add (a,b);
}
module.exports.sum = sum;
module.exports.product=product;
当我做'node calculator.js'时,我得到3&分别
我现在想在浏览器中使用此计算器模块。所以我做了以下事情:
<html>
<body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.js"></script>
<script src='cal.js'></script>
</body>
</html>
<script>
var cal=require('cal');
</script>
这让我错误地说
'模块名称“cal”尚未加载上下文:_。使用 要求([])'
知道如何让它运行?在此先感谢您的帮助。
答案 0 :(得分:1)
您不需要require.js
。
相反,您可以告诉Browserify使calculator.js
模块可用于require()
。这也将使require
函数可用于浏览器:
$ browserify -r ./calculator.js:cal > cal.js
要在浏览器中使用它:
<script src="cal.js"></script>
<script>
var cal = require('cal');
...
</script>
更多信息here。