簡體   English   中英

導出函數 javascript 錯誤是什么意思,我該如何解決?

[英]What does the export function javascript error mean and how can I fix it?

所以我試圖在另一個腳本 b.js 中調用在 a.js 中創建的函數 jsonToAim()

這是我在 a.js 中定義它的方式:

export function jsonToAim(jsonObj){...}

這就是我在 b.js 中調用它的方式

const backend = require('./a')`
let aimObj = backend.jsonToAim(jsonObj);

我最終收到此錯誤:

export function jsonToAim(jsonObj){
^^^^^^

SyntaxError: Unexpected token 'export'
    at wrapSafe (internal/modules/cjs/loader.js:992:16)
    at Module._compile (internal/modules/cjs/loader.js:1040:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:941:32)
    at Function.Module._load (internal/modules/cjs/loader.js:782:14)
    at Module.require (internal/modules/cjs/loader.js:965:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/create-aims/getAim.js:4:17)
    at Module._compile (internal/modules/cjs/loader.js:1076:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)

有誰知道我哪里出錯了? 抱歉,如果這是一個愚蠢的問題,我是 js 的超級新手

有多種方法可以在 JS 中export內容……例如,CommonsJS 與 ES6 導出語法。

無論出於何種原因,NodeJS 目前都不支持您使用的 ES6 import/export語法。

嘗試 CommonJS 語法( require/exports ):

const jsonToAim = (jsonObj) => {...}

//At the end of your file:
export {
 jsonToAim
}

這是一個關於 ES6 與 CommonJS 導出語法的非常好的線程

問題是你使用 ES Modules 而不是 CommonJS

Node.js 默認使用 Common js require()

這意味着:

export function jsonToAim(jsonObj){...}

應該

function jsonToAim(jsonObj){...}

module.exports.jsonToAim = jsonToAim;

稍后您使用以下命令導入它:

const { jsonToAim } = require(...);

但是你也可以在 node.js 中使用 ES 模塊。

我為這類問題寫了一個類似的答案:

JWT 的 ES6 導入

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM