我正在尝试导入一个工厂 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 特别令人困惑,我不知道为什么当该语法适用于其他文件时它会抛出该错误。
添加回答
举报
0/150
提交
取消