如何包含和使用math.js

时间:2016-07-16 23:14:15

标签: javascript math.js

我正在尝试使用math.js(http://mathjs.org/docs/reference/functions/inv.html),但我看不到如何将其包含在HTML文件中。

我已经读过你可以通过将其添加到文件中来包含它:

var math = require('mathjs');

但这对我不起作用

我意识到这听起来像是一个非常愚蠢的问题,但我试图弄清楚自己并没有成功。

要回答我的问题,只需显示成功使用math.js的完整HTML文件(而不仅仅是一些代码)

由于

我尝试过亚历山大·奥马拉的建议,我得到了这个:

/** * Math.js can easily be extended with functions and variables using the * `import` function. The function `import` accepts a module name or an object * containing functions and variables. */ // load math.js (using node.js) var math = require('../index'); /** * Define new functions and variables */ math.import({ myConstant: 42, hello: function (name) { return 'hello, ' + name + '!'; } }); // defined methods can be used in both JavaScript as well as the parser print(math.myConstant * 2); // 84 print(math.hello('user')); // 'hello, user!' print(math.eval('myConstant + 10')); // 52 print(math.eval('hello("user")')); // 'hello, user!' /** * Import the math library numbers.js, https://github.com/sjkaliski/numbers.js * The library must be installed first using npm: * npm install numbers */ try { // load the numbers.js library var numbers = require('numbers'); // import the numbers.js library into math.js math.import(numbers, {wrap: true, silent: true}); if (math.fibonacci) { // calculate fibonacci print(math.fibonacci(7)); // 13 print(math.eval('fibonacci(7)')); // 13 } } catch (err) { console.log('Warning: To import numbers.js, the library must ' + 'be installed first via `npm install numbers`.'); } /** * Import the math library numeric.js, http://numericjs.com/ * The library must be installed first using npm: * npm install numeric */ try { // load the numeric.js library var numeric = require('numeric'); // import the numeric.js library into math.js math.import(numeric, {wrap: true, silent: true}); if (math.eig) { // calculate eigenvalues of a matrix print(math.eval('eig([1, 2; 4, 3])').lambda.x); // [5, -1]; // solve AX = b var A = math.eval('[1, 2, 3; 2, -1, 1; 3, 0, -1]'); var b = [9, 8, 3]; print(math.solve(A, b)); // [2, -1, 3] } } catch (err) { console.log('Warning: To import numeric.js, the library must ' + 'be installed first via `npm install numeric`.'); } /** * By default, the function import does not allow overriding existing functions. * Existing functions can be overridden by specifying option `override: true` */ math.import({ pi: 3.14 }, { override: true }); print(math.pi); // returns 3.14 instead of 3.141592653589793 /** * Helper function to output a value in the console. Value will be formatted. * @param {*} value */ function print (value) { var precision = 14; console.log(math.format(value, precision)); }

4 个答案:

答案 0 :(得分:4)

您不应该在浏览器中使用require。你应该尝试这样的事情:

<!DOCTYPE HTML>
<html>
<head>
  <script src="math.js" type="text/javascript"></script>
</head>
<body>
  <script type="text/javascript">
    // use math.js
    math.sqrt(-4); // 2i
  </script>
</body>
</html>

查看文档:{​​{3}}

答案 1 :(得分:3)

最简单的方法是在CDN中加入math.js

<head>
    <script src=https://cdnjs.cloudflare.com/ajax/libs/mathjs/3.3.0/math.min.js></script>
</head>

您需要的每个脚本,在Google中搜索CDN(在此示例中为mathjs cdn),并将其包含在您的页面HEAD中。这样您就不需要将任何内容下载到您的服务器。

有关CDN的更多信息:

  

Google Hosted Libraries稳定,可靠,高速,   全球可用的最流行的内容分发网络,   开源JavaScript库。

     

Google直接与每个图书馆的主要利益相关方合作   努力并接受最新版本发布。

  

每个人都喜欢Google CDN吗?甚至微软都有自己的   CDN。问题是,他们只托管最受欢迎的图书馆。我们   托管所有流行的图书馆 - JavaScript,CSS,SWF,图像等!   现在加入我们的GitHub!

答案 2 :(得分:2)

他们有一个可以使用的RESTful http://api.mathjs.org。或者你应该能够从here下载产品并将其包含在你的JS中。

在你的头标记中:

<script src="math.js" type="text/javascript"></script>

答案 3 :(得分:0)

导入

import { create, all } from 'mathjs'

初始化

const math = create(all,  {})

使用

console.log(math.sqrt(-4).toString())