为什么此javascript模块无法在浏览器中显示?

时间:2020-06-16 11:56:42

标签: javascript module

我试图通过将其作为模块来运行javascript代码段,但没有任何反应。

简单的HTML代码如下:

<!-- ./index.html - bare minimum HTML to keep it simple. -->
<body>
  <h1>Hello world!</h1>
  <script type="module" src="js/fortytwo.js"></script>
</body>

JavaScript代码只是一行:

// ./js/fortytwo.js
alert('The answer is 42.');

我的网络浏览器显示以下内容。请注意javascript代码如何未运行

Javascript not working in browser.

注释1 : 如果我(暂时)从HTML代码中删除了type="module",则javascript 按预期工作。
注释2 : 我知道问题Javascript module not working in browser?
我的问题是不重复。 -例如,我不使用关键字exportimport

1 个答案:

答案 0 :(得分:0)

据我了解,要将javascript作为模块运行,它必须在网络服务器上运行。 因此,如果要在本地(在自己的计算机上)运行代码,则需要 (安装并)启动本地Web服务器。当前流行的一种替代方法是 live-server
这就是我所做的。

  • 打开一个终端。 (在Windows上:cmd。)
  • 键入npm并按Enter键以查看是否已安装Node.js。
  • 如果您获得command not found,请从https://nodejs.org/en/download/下载并安装。
  • 安装实时服务器:npm install -g live-server(按用户安装)
  • 将目录更改为页面所在的位置:cd <path-to-your-index.html>
  • 启动服务器:live-server .(应在默认浏览器中打开localhost:8080。)

参考:https://gist.github.com/donmccurdy/20fb112949324c92c5e8

现在javascript可在我的网络浏览器中运行。

Javascript runs in browser.

我使用的是Windows 10,但上述说明也可以在Linux和macOS上正常运行, 我相信。