59854


GitHub で公開されている [xd-json-wrapper](https://github.com/svschannak/xd-json-
wrapper) の `getArtboardAsJSON` を使いたく、importを行いたいファイル`main.js`で、

**main.js**

[code]

    import { getArtboardAsJSON } = "xd-json-wrapper";//<- この書き方、書く場所は正しいですか？
    
    function myCommand(node) {
         const artboard = node;
         const wrappedArtboard = getArtboardAsJSON(artboard);
         JSON.stringify(wrappedArtboard);
    }
    
[/code]

と書いているのですが、

[code]

    import { getArtboardAsJSON } = "xd-json-wrapper";
    
[/code]

がSyntaxErrorとして指摘され、読み込めません。

ファイルの階層は以下のようになっています。

[![画像の説明をここに入力](https://i.stack.imgur.com/v3meX.png)](https://i.stack.imgur.com/v3meX.png)


CC BY-SA 4.0
2019-10-21T07:04:23.220
59842
2019-10-21T19:06:15.323
2019-10-21T12:14:09.243
3060
12297
question
javascript node.js
import { getArtboardAsJSON } = "xd-json-wrapper" という書き方は正しいですか？


少なくともそれは、 ESM の `import` 構文としては見たことがありません。当該リポジトリの Issues
においても[この構文に関するスレッド](https://github.com/svschannak/xd-json-
wrapper/issues)があるので、少なくとも何らかのビルドシステムを通さなければこの構文は使用出来ないのではないかと思います。

その構文の詳細はわかりませんが、当該エラーの解決策は、通常通り `require` 関数を用いてパッケージを読み込むことです。また、 Node.js
v12.13.0 では [ESM は実験的 (Stability: 1)
な機能](https://nodejs.org/api/esm.html#esm_ecmascript_modules)になっており、 xd-json-
wrapper パッケージのソースコードを読む限り、 ESM の使用は想定されていないと思われます。

[code]

    const {getArtboardAsJSON} = require("xd-json-wrapper");
    
    function myCommand(node) {
        const artboard = node;
        const wrappedArtboard = getArtboardAsJSON(artboard);
        JSON.stringify(wrappedArtboard);
    }
    
[/code]


CC BY-SA 4.0
2019-10-21T19:06:15.323
59854
2019-10-21T19:06:15.323
32986
59842
answer