首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6模块故障

ES6模块故障
EN

Stack Overflow用户
提问于 2017-09-10 07:36:52
回答 2查看 35.7K关注 0票数 7

解决了:修复我的服务器的MIME类型解决了问题。,我忘记了,不久前我亲自处理了它们。特别感谢@Sidney@estus@乔希·李帮助我。

一旦我在ES6模块的MDN上找到了一个只在我当前版本的Chrome中工作的ES6,我就想尝试对模块进行实验。遗憾的是,我无法得到任何与执行相关的模块,即使是现场演示也很好。我甚至将两个文件(index.htmlutils.js)复制到服务器上的一个目录中,试图准确地重新创建这个实时演示,但它仍然连一行代码都无法运行。我遗漏了什么?有人能给我一些提示,说明什么时候执行模块脚本,为什么我的脚本不执行?

tl;dr:我找到了一个ES6模块的工作示例,但是尝试在我自己的本地服务器上重新创建它是行不通的。

编辑:是的,控制台被设置为“隐藏所有”。然而,这两个站点都显示了一个丢失favicon.ico的错误,因此这与我的问题无关。

编辑:由MDN引用的文章,包含实况演示。

更新:似乎是因为我的本地服务器在获取模块时给出的MIME类型不正确。

index.html/test.htm:

代码语言:javascript
复制
<!DOCTYPE html>
<meta name="viewport" content="width=device-width, minimum-scale=1.0">
<script type="module">
  import {addTextToBody} from './utils.js';

  addTextToBody('Modules are pretty cool.');
</script>

utils.js:

代码语言:javascript
复制
export function addTextToBody(text) {
  const div = document.createElement('div');
  div.textContent = text;
  document.body.appendChild(div);
}

矿场:

现场演示:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-10 16:10:30

这里的错误消息是

加载模块脚本失败:服务器响应非JavaScript类型的"text/html“。根据HTML规范,对模块脚本实施严格的MIME类型检查。

这是对web开发的一个新的要求,到目前为止,大多数情况下,不正确的MIME类型都可以避免麻烦。

两个用于本地开发的快速web服务器(据我所知具有合理的MIME处理)如下:

  1. Python:python3 -m http.server (参见1)。
  2. 节点的http-server:npm i -g http-server && http-server (参见2)。

在您的示例中,没有显示错误消息,这是

隐藏所有…1项由过滤器隐藏

通过单击“隐藏所有”并选择“默认”(您可能希望在工作时将其设置为“所有级别”)来修复此问题。或将devtools重置为其默认状态:

  1. 在devtools中按F1 (或选择菜单>设置)。
  2. 滚动到底部,并单击“还原默认值和重新加载”。
票数 5
EN

Stack Overflow用户

发布于 2020-02-28 00:14:19

我用这个yaml解决了这个问题。

代码语言:javascript
复制
runtime: python38
service: yourservice

handlers:
  - url: /(.*\.(gif|png|jpg|less|json|woff|woff2|ttf|eot|scss|css|js|ico|svg)(|\.map))$
    static_files: dist/\1
    upload: dist/(.*)(|\.map)
  - url: /(.*)
    static_files: dist/index.html
    upload: dist/index.html
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46138375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档