简介
ethers.js是一个本地库,可以让你调用接口,用官方写好的轮子来使用一些常用的函数!学习完这个库,你对node.js就有比较深入的了解了,如果你不做项目,就不涉及智能合约的编写,那么写点脚本学习一下ethers.js是很好的。
教程已经有比较完整系统的了:https://www.wtf.academy/ethers-101/HelloVitalik
我只是指出其中需要注意的地方,那就是node.js的语法问题。
报错:node .\HelloVitalik.js (node:19424) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
加入 "type": "module"
到 package.json
文件中,可以让 Node.js 理解并接受 ES6 模块的语法。具体来说,这是因为:
-
模块系统的不同:Node.js 默认使用 CommonJS 模块系统,这是一个早期的模块标准,主要用在 Node.js 中。CommonJS 使用
require
和module.exports
来导入和导出模块。然而,ES6(也称为 ECMAScript 2015)引入了一种新的模块系统,使用import
和export
语句。 -
启用 ES6 模块:在
package.json
中加入"type": "module"
指示 Node.js 将该项目中的.js
文件作为 ES6 模块来处理。这意味着您可以在项目中使用import
和export
语句,而不是 CommonJS 的require
。 -
兼容性和未来趋势:ES6 模块是 JavaScript 语言的官方标准,并且被现代浏览器和最新版本的 Node.js 支持。使用 ES6 模块可以提高代码的兼容性和可维护性。
总结来说,通过在 package.json
中设置 "type": "module"
,您的 Node.js 项目就能够使用现代的 JavaScript 模块语法,从而使代码更加现代化、简洁和符合标准。
具体步骤
1.安装node.js
,自行查找教程,此处不再赘述。
2.安装ethers.js
,分为安装最新版本和指定版本两种。
//我选择安装最新版本
npm install --save ethers
//安装指定版本
npm install [email protected]
3.修改package.json
为启用ES6模块
,加上一行"type": "module"
{
"dependencies": {
"ethers": "^6.10.0"
},
"type": "module"
}
4.现在再运行就不会出错了:node .\HelloVitalik.js
import { ethers } from "ethers";
const provider = ethers.getDefaultProvider();
const main = async () => {
const balance = await provider.getBalance(`vitalik.eth`);
console.log(`ETH Balance of vitalik: ${ethers.formatEther(balance)} ETH`);
}
main()
标签:Node,ES6,跑通,module,js,模块,ethers
From: https://www.cnblogs.com/ranxi169/p/18001366