我正在遵循Set协议入门tutorial。我熟悉vanilla Javascript,但不熟悉Node、NPM、Webpack等。我只获取了这些方面的最低限度的信息,并一直试图在浏览器中运行教程中描述的代码。您可以在这个github repo中找到最新的代码。
index.html的代码如下:
<html>
<script src="main.js"></script>
<body>
<div>
Hello World!
</div>
</body>
</html>package.json看起来像这样:
{
"dependencies": {
"@0xproject/typescript-typings": "^3.0.2",
"bignumber.js": "^5.0.0",
"setprotocol.js": "^1.2.9-rc1",
"web3": "^1.0.0-beta.36"
},
"name": "setprotocol",
"version": "1.0.0",
"description": "set protocol tutorial",
"author": "swapna",
"license": "MIT",
"private": true,
"devDependencies": {
"webpack": "^4.44.2",
"webpack-cli": "^3.3.12"
}
}webpack.config.js看起来像这样:
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'),
},
node: {
fs: 'empty',
},
optimization: {
minimize: false
},
};我在项目根目录的node_modules下看到了bignumber.js:

我正在通过运行npx webpack --config webpack.config.js来构建main.js
当我在浏览器中加载index.html (运行dist文件夹中的npm install http-server -g )时,在浏览器的JS控制台中看到以下错误:
main.js:203795 Uncaught (in promise) ReferenceError: BigNumber is not defined
at createStableSet (main.js:203795)
at Module.<anonymous> (main.js:203818)
at __webpack_require__ (main.js:20)
at main.js:84
at main.js:87
createStableSet @ main.js:203795
(anonymous) @ main.js:203818
__webpack_require__ @ main.js:20
(anonymous) @ main.js:84
(anonymous) @ main.js:87发生错误的代码:

我做错了什么?请帮帮我!
发布于 2020-10-07 01:27:32
在您使用BigNumber的模块中,您需要导入它。例如,如果你有
// mymodule.js
(async () => {
const { units, naturalUnit } = await setProtocol.calculateSetUnitsAsnyc(
componentAddresses,
[new BigNumber(1), new BigNumber(1)],
// ...将其更改为
// mymodule.js
import BigNumber from 'bignumber';
(async () => {
const { units, naturalUnit } = await setProtocol.calculateSetUnitsAsnyc(
componentAddresses,
[new BigNumber(1), new BigNumber(1)],
// ...https://stackoverflow.com/questions/64230871
复制相似问题