web-dev-qa-db-ja.com

構文エラー:モジュールの外部ではインポート文を使用できません

VSCでデバッガーを実行しようとすると、このエラーメッセージが表示され続けます。誰か助けてくれますか?これがスクリーンショットです:

私はプログラミングにかなり慣れており、コースをフォローしています。可能な限り、非常に基本的な説明にしてください。

enter image description here

JSファイルのコードは次のとおりです。 YoコードとNPMを使用して、基本的なVisual Studioコード拡張を生成しました。

    // The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import { commands, window } from 'vscode';

// this method is called when your extension is activated
// your extension is activated the very first time the command is executed

/**
 * @param {vscode.ExtensionContext} context
 */
function activate(context) {

// Use the console to output diagnostic information (console.log) and errors (console.error)
    // This line of code will only be executed once when your extension is 
    activated
    console.log('Congratulations, your extension "content-helper" is now 
    active!');

    // The command has been defined in the package.json file
    // Now provide the implementation of the command with  registerCommand
    // The commandId parameter must match the command field in package.json
    let disposable = commands.registerCommand('extension.helloWorld', function () {
        // The code you place here will be executed every time your command is executed

        // Display a message box to the user
        window.showInformationMessage('Hello World!');
    });

    context.subscriptions.Push(disposable);
}
const _activate = activate;
export { _activate as activate };

// this method is called when your extension is deactivated
function deactivate() {}

export default {
    activate,
    deactivate
}
1
Shabbir

VSコード拡張は、モジュールをネイティブでサポートしないNode環境で実行されます(つまり、importexportはありません)。

yo codeは、TypeScript拡張機能を作成するときにのみimportを使用します。 js拡張の場合、yo codeは代わりにrequireを使用します:

const vscode = require('vscode');

VS Code拡張機能でimportを使用するには、TypeScriptまたはwebpackなどのツールを使用して、コードをターゲットノードにコンパイルする必要があります。

1
Matt Bierner