在 Chrome 61中,添加了对 JavaScript 模块的支持。
我试图在 Chrome 扩展内容脚本中使用 import
/export
语法来使用模块。
在 manifest.json
:
"content_scripts": [
{
"js": [
"content.js"
],
}
]
在 my-script.js
(与 content.js
相同的目录) :
'use strict';
const injectFunction = () => window.alert('hello world');
export default injectFunction;
在 content.js
:
'use strict';
import injectFunction from './my-script.js';
injectFunction();
我收到这个错误: Uncaught SyntaxError: Unexpected identifier
如果我将导入语法改为 import {injectFunction} from './my-script.js';
,就会得到这个错误: Uncaught SyntaxError: Unexpected token {
在 Chrome 扩展的 content.js
中使用这种语法有什么问题吗(因为在 HTML 中你必须使用 <script type="module" src="script.js">
语法) ,还是我做错了什么?谷歌忽视对扩展的支持似乎有些奇怪。