亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么在使用 NextJS 時我不能在 Javascript 文件中導入或需要

為什么在使用 NextJS 時我不能在 Javascript 文件中導入或需要

慕的地6264312 2021-06-16 17:05:12
我正在嘗試導入一個工廠 Typescript 文件,該文件從客戶端獲取數據并以嚴格的方式組織它,然后再將其傳遞給使用 Next.js 的路由創建。我嘗試更改導入和導出文件的方式。我試過import { ContentfulAssetFactory, LandingPageFactory } from './factory';和const factory = require('./factory)。import { ContentfulAssetFactory, LandingPageFactory } from './factory';const client = require('./client');const LANDING_PAGE_CONTENT_TYPE_ID = 'campaignLandingPage';module.exports = async () => {  const entries = await client.getEntries({    content_type: LANDING_PAGE_CONTENT_TYPE_ID,  });  const linkedAssets = await entries.includes.Asset.map(asset => {    return ContentfulAssetFactory.create(asset.fields)  })  const items = entries.items.map(item => {    return LandingPageFactory.create(item.fields, linkedAssets)  });  return items;};class ContentfulAssetFactory {    static create(asset: ContentfulAsset) {        return {          id: asset.id,          contentType: asset.contentType,          url: asset.url,          title: asset.title        }      }    }}class LandingPageFactory { static create(page: LandingPage, assets: Array<ContentfulAsset>) {    const pageImgs = await page.pageImages.map(asset => {      assets.find(item => {        if (item.sys.id === asset.sys.id) {        }      })    })    const lp = {      campaignTitle: page.campaignTitle,      promoCode: page.promoCode,      template: page.template,      ctaPrimary: page.ctaPrimary,      ctaPrimaryButtonText: page.ctaPrimaryButtonText,      ctaPrimaryHyperlink: page.ctaPrimaryHyperlink,      ctaAlt1: page.ctaAlt1,      ctaAlt1Hyperlink: page.ctaAlt1Hyperlink,      ctaAlt1TextColor: page.ctaAlt1TextColor,      ctaAlt1BackgroundColor: page.ctaAlt1BackgroundColor,      pageImages: pageImgs    }      return lp  }}export {  ContentfulAsset,  ContentfulAssetFactory,  LandingPage,  LandingPageFactory}我希望能夠導入或要求打字稿并使用類靜態函數。我很困惑為什么我不能要求文件或導入它。SyntaxError 特別令人困惑,我不知道為什么當該語法適用于其他文件時它會拋出該錯誤。
查看完整描述

2 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

打字稿不是有效的 javascript。您必須先將打字稿編譯為 javascript,然后才能導入它。


查看完整回答
反對 回復 2021-06-24
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

node自己也不知道typescript。您應該首先將其編譯為常規 javascript。


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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號