在Javascript中使用“导入”语句时出错

时间:2018-12-14 18:53:53

标签: javascript

我有以下代码,并出现“ TypeError:解决模块说明符错误:solc / wrapper”错误。我按照https://github.com/ethereum/solc-js#browser-usage的说明将代码放在一起。

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="https://solc-bin.ethereum.org/bin/list.js"></script>
	<script type="text/javascript" src="https://solc-bin.ethereum.org/bin/soljson-v0.5.1+commit.c8a2cb62.js"></script>
        <script type="module" defer>
          import * as wrapper from 'solc/wrapper';
        </script>
    </head>
    <body>
    </body>
</html>

请问任何建议,问题出在哪里?谢谢。

2 个答案:

答案 0 :(得分:1)

我不知道问题出在哪里,因为我之前从未见过ES6导入语法,但是我通过指定确切的导入位置来解决了该问题:

<!DOCTYPE html>
<html>
    <head>
        <script type="module" defer>
          // debugging
          document.getElementById("runninate").addEventListener("click", function(e){var code=document.getElementById('miniconsole').value; console.log('> ' + code); console.log(eval(code))})

          import * as wrapper from 'https://ethereum.github.io/solc-bin/bin/soljson-v0.5.0-nightly.2018.10.15+commit.b965fd6e.js';
          const solc = wrapper(window.Module);
        </script>
    </head>
    <body>
        <input id="miniconsole" />
        <button id="runninate">Runninate!</button>
    </body>
</html>

我没有足够的信心说语法错误,但是考虑到他们在Node.JS示例中有错字,我怀疑他们对此进行了测试。

请注意,此操作无法正确导入,因为导入的内容无法正常工作。

答案 1 :(得分:0)

我必须安装solc npm软件包

npm install solc

以使代码运行。