第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

轉換為Typescript后,模塊沒有默認導出

轉換為Typescript后,模塊沒有默認導出

一只萌萌小番薯 2021-05-10 17:24:53
我已經(jīng)將JavaScript代碼轉換為Typescript并收到錯誤模塊沒有默認導出我嘗試使用花括號導入和使用module.exports導出,但它們均無效。contactController.tsconst contacts: String[] = [];// Handle index actionsexports.index = (req: any, res: any) => {    res.json({        data: contacts,        message: "Contacts retrieved successfully",        status: "success"    });};// Handle create contact actionsexports.new = (req: any, res: any) => {     // save the contact and check for errors    contacts.push("Pyramids");    res.json({            data: contact,            message: "New contact created!"        });};api-route.tsimport contactController from "./contactController";在api-routes.ts中,當我嘗試導入contactController模塊時,它將引發(fā)錯誤模塊沒有默認導出如何導入而不會出現(xiàn)錯誤?我嘗試使用“ ./contactController”中的“ import {contactController}”,但是效果不佳。
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻1824條經(jīng)驗 獲得超5個贊

要完成Vasil的答案:

當您以這種方式導入模塊時:


// <some_file>.ts

import <whatever_name_I_want> from "<path_to_my_awesome_module>";

<my_awesome_module>.ts需要有一個默認導出。例如,可以通過以下方式完成此操作:


// <my_awesome_module>.ts

export default foo = () => { // notice the 'default' keyword

  // ...

};


export bar = () => {

  // ...

};

使用上面的代碼,<whatever_name_I_want>將成為foo方法(一個模塊只能有1個默認導出)。為了同樣導入該bar方法,您將必須單獨導入它:


// <some_file>.ts

import <whatever_name_I_want>, { bar } from "<path_to_my_awesome_module>";

但是根據(jù)您要嘗試執(zhí)行的操作,可能不需要使用默認導出。您可以使用export關鍵字簡單地導出所有方法,如下所示:


// contactController.ts

export index = (req: any, res: any) => { // no need for a default export

  // ...

};


export create = (req: any, res: any) => {

  // ...

};

并將它們都導入到方括號中:


// api-routes.ts

import { index, create } from "./contactController";


// Usage

index(...);

create(...);

或在全局變量中:


// api-routes.ts

import * as contactController from "./contactController";


// Usage

contactController.index(...);

contactController.create(...);

PS:我重命名了您的new方法,create因為“ new”已經(jīng)是一個JavaScript關鍵字。


查看完整回答
反對 回復 2021-05-13
?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

您需要將導出方式更改為:


const contacts: String[] = [];


// Handle index actions

const index = (req: any, res: any) => {

    res.json({

        data: contacts,

        message: "Contacts retrieved successfully",

        status: "success"

    });

};


// Handle create contact actions

const newContact = (req: any, res: any) => {


     // save the contact and check for errors

    contacts.push("Pyramids");


    res.json({

            data: contact,

            message: "New contact created!"

        });

};


export default {index, newContact};

然后,您應該可以像這樣導入


import routes from './contactController';


查看完整回答
反對 回復 2021-05-13
  • 2 回答
  • 0 關注
  • 1256 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號