我正在构建一个 WordPress 插件。我在名为 demo-one.js 的 JavaScript 文件中有以下内容:
import WooCommerceRestApi from "https://unpkg.com/@woocommerce/woocommerce-rest-api@1.0.1/index.js";
alert('Hello!');
class someClass {
constructor() {
alert("Hello again!");
}
}
export default function(){
var mySomeClass = new someClass();
}
...我发现在我的控制台中,我收到以下错误:SyntaxError: import not found: default | demo-one.js:1:7
export
上的所有信息我可以在网上找到在类之外使用的自由 float 值和函数的关键字,所以我为有点盲目而道歉。我很确定我正确定义了默认导出,但似乎我没有。我在这里做错了什么?
最佳答案
使用 import
您必须将该 JavaScript 注册为模块:
// Your regular enqueue here
wp_enqueue_script( 'myplugin.js.main', $url, [], $path );
// Add type="module" to your script tag.
// Before: <script src="myscript.js"></script>
// After: <script src="myscript.js" type="module"></script>
add_filter( 'script_loader_tag', function( $tag, $handle, $src ) {
// Replace "myplugin.js.main" with your asset's handler
if ( $handle !== 'myplugin.js.main' ) {
return $tag;
}
return sprintf( '<script src="%s" type="module"></script>', esc_url( $src ) );
}, 10, 3 );
关于javascript - 语法错误 : import not found: default when defining a js class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62694336/