4

我正在构建一个 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();
}

...我发现在我的控制台中,我收到以下错误:

语法错误:找不到导入:默认 | 演示-one.js:1:7

我可以在网上找到的所有关于export关键字的信息都使用了类之外的自由浮动值和函数,所以我为有点盲目而道歉。

我很确定我正确定义了默认导出,但似乎我没有。我在这里做错了什么?

4

1 回答 1

2

要使用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 );
于 2020-07-08T03:42:21.380 回答