SyntaxError:导出函数 Js 时出现意外的标记“导出”

scr*_*gor 5 javascript export function

我正在尝试从 Js 文件导出函数,但收到Unexpected token错误

const youtubeDownload = require("./youtube/youtube-download"); // export function youtubeDownload 
const twitterDonwload = require("./twitter/twitter-download"); // export function twitterDownload

function download(tweet) {
    if(tweet.in_reply_to_status_id_str == null) return youtubeDownload(tweet);
    if(tweet.in_reply_to_status_id_str != null) return twitterDonwload(tweet);
};

export { download };
Run Code Online (Sandbox Code Playgroud)

此代码返回错误:

export { download };
^^^^^^

SyntaxError: Unexpected token 'export'
Run Code Online (Sandbox Code Playgroud)

小智 16

这是因为 NodeJS 默认使用 CommonJS 模块。CommonJS 模块不支持export语法。因此您可能需要为此使用 CommonJS 导出语法。

const youtubeDownload = require("./youtube/youtube-download"); // export function youtubeDownload 
const twitterDonwload = require("./twitter/twitter-download"); // export function twitterDownload

function download(tweet) {
    if(tweet.in_reply_to_status_id_str == null) return youtubeDownload(tweet);
    if(tweet.in_reply_to_status_id_str != null) return twitterDonwload(tweet);
};

module.exports = { download };
Run Code Online (Sandbox Code Playgroud)

或者,如果您确实想使用export语法,可以使用 ES6 模块,如下所示: https: //stackoverflow.com/a/45854500/13568664


小智 8

用于module.exports={download}导出

用于const {download}=require('<yourfilepath>')导入