gpt4 book ai didi

javascript - 使用 javascript 中的浏览器化模块

转载 作者:行者123 更新时间:2023-12-03 06:52:27 25 4
gpt4 key购买 nike

我是 javascript 新手,在浏览器端使用 npm 模块时遇到一些问题。有人可以指导我正确的方向吗?

我有一个类似的模块结构

add.js

 function add (a,b) {
return a+b;
}
module.exports.add = add;

乘法.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 & 。

我现在想在浏览器中使用这个计算器模块。所以我做了以下事情:

  1. 浏览calculator.js > cal.js
  2. 创建了一个 html 文件
<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>
  • 这会在控制台上打印出 3 和 2。
  • 但是我想使用计算器的方法来执行 cal 的要求,例如
  •   <script>
    var cal=require('cal');
    </script>

    这给我一个错误提示

    'Module name "cal" has not been loaded yet for context: _. Use require([])'

    知道如何让它运行吗?预先感谢您的帮助。

    最佳答案

    您不需要 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 .

    关于javascript - 使用 javascript 中的浏览器化模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37434171/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com