GitHub.js没有提供名为“default”的导出项。

3
我正在尝试在Chrome / Firefox扩展程序上使用GitHub.js,但遇到一些问题。

未捕获的SyntaxError:请求的模块'/static/GitHub.bundle.js' 不提供名为“default”的导出

我在这里找到了一个可能的解决方案(链接),但仍然无法解决。99%的JavaScript作者认为基础知识已经掌握,但我要么不知道它们,要么存在某种微妙的问题/错误我没有看到。
我的代码很简单:
<html>
  <body id="mybody"> 
    <button id="mybutton" >Click me</button>
    <script type="module" src="popup.js"></script>
  </body>
</html>

以及 popup.js:

//import GitHub from './GitHub.bundle.js';
import * as GitHub from './GitHub.bundle.js';
function onWindowLoad() {
}
window.onload = onWindowLoad;
document.getElementById("mybutton").addEventListener("click", clickme); 

function clickme() {
    var github = new GitHub({
        username: 'USER',
        password: 'PASS',
        auth: 'basic'
    });
}

它立即停止。无论我在之后加什么也没关系。我做错了什么吗?即使作为独立页面,它也不应该工作。

请注意,我必须使用 .js ,否则会出现“文件未找到”的错误。

库:https://github.com/github-tools/github


1
我在他们的JS包中没有看到任何 export 语句,只有通过require()和其他方式获取的常见内容,所以我猜测他们的第一个官方示例是针对其他东西的。删除 type="module",添加一个用于GitHub.bundle.js的HTML script标签,移除导入语句。完成。 - wOxxOm
@wOxxOm 如果你写了答案,我就会接受它。我还不得不添加underscore.js。 - maugch
2个回答

2
解决方案是删除include并在html文件中添加.js文件及其依赖项。请注意,如果您阅读github.js的网站,这并不是非常清楚的。最初的回答。
<html>
   <body id="mybody"> 
     <button id="mybutton" >Click me</button>
     <script src="GitHub.bundle.min.js"></script> 
     <script src="underscore-min.js"></script> 
     <script type="module" src="popup.js"></script>
   </body>
</html>

2
那并没有真正回答问题。我目前正在尝试解决类似的问题,但“把所有东西都放在HTML中”并不是一个充分的解决方案。 - Tony Chiboucas

1
可能有一个技巧可以这样做:

尝试:

import * as GitHub from '/static/GitHub.bundle.js';

1
是的,它可以工作!现在下一个问题是GitHub不是构造函数。代码直接从库的github存储库复制(除了include..)。我想这个技巧并不完全正确。 - maugch
你需要提供更多的代码,这样我们才能帮助你。 - nook
1
我怀疑GitHub.js在浏览器中无法工作,但文档没有提到这一点。我找到的所有示例都没有提到如何在网页中使用它。 - maugch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接