node.js - 为什么我的 typescript 节点模块在安装到我的 Next.js 应用程序时会触发“可能需要适当的加载程序”错误?
问题描述
我编写了一个 TypeScript 节点模块并安装到我的 Next.js 应用程序中。但是,当我尝试运行 Next.js 应用程序时,模块会触发错误。任何想法为什么会这样?请参阅下面的详细信息。
我的打字稿节点模块
import axios from 'axios'
// AwsS3FileUploader()
// A JavaScript library for file upload to AWS S3 bucket from the client side.
export const AwsS3FileUploader = class {
url: string // unsigned or signed upload url
headers: object // headers to be included in request
data: Blob // file object to be included in request and uploaded to the S3 bucket
constructor(initUrl: string, initHeaders: object, initData: Blob) {
this.url = initUrl
this.headers = initHeaders
this.data = initData
}
async uploadFile(): Promise<object> {
const res = await axios({
url: this.url,
method: 'PUT',
headers: this.headers,
data: this.data
})
if (res.status !== 200) return Promise.reject(res)
return Promise.resolve({
data: res.data,
status: res.status,
statusText: res.statusText
})
}
}
错误输出
Module parse failed: Unexpected token (8:7) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。见https://webpack.js.org/concepts#loaders
解决方案
我可以通过更改next.config.js
文件中的 webpack 配置来解决问题,如下所示:
webpack(config, options) {
config.module.rules.push({
test: /\.(ts)x?$/, // Just `tsx?` file only
use: [
{
loader: "ts-loader",
},
],
});
return config;
}
推荐阅读
- clips - 调用 CLIPS 操作 modify 导致系统挂起
- html - 表格中图像下方的中心文本
- java - Xamarin 错误仅 Android 6.0 Mono.AndroidTools.InstallFailedException 和 NSTALL_PARSE_FAILED_MANIFEST_MALFORMED
- python - 我们如何从 Gpy 获得多维输出
- python - DJango REST Framework:如何使用 ModelViewSet 编写 Create、List、Update 和 Delete
- sql - 如何根据匹配的列变量组合行
- clojure - 在 Clojure 中除以零
- javascript - 为什么我的导航栏下拉动画不起作用?
- python - 无法在 Pygame 中加载音乐
- java - 数组中的 LocalDate 给了我空结果