问题描述
我刚刚花了几个小时试图让 webpack 识别我制作的一个 .d.ts 文件,这个文件是关于我想使用的一个没有 @types 包的小模块(png-to-jpeg ,一个 imagemin 插件)。
导入是最基本的:
import pngToJpeg from "png-to-jpeg";
这是 src/typings/png-to-jpeg/index.d.ts
文件:
declare module "png-to-jpeg" {
export default import("imagemin").Plugin;
}
我的 IDE (VSCode) 似乎对它很满意,它在我添加此文件后立即删除了错误,但 webpack 拒绝识别它,我不得不回退到 require 才能使其工作。这是我的 webpack 配置:
/* eslint-disable @typescript-eslint/no-var-requires */
/* eslint-disable no-undef */
const path = require("path");
const dotenv = require("dotenv");
const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
const nodeExternals = require("webpack-node-externals");
const nodemonPlugin = require("nodemon-webpack-plugin");
dotenv.config();
module.exports = env => {
const {
NODE_ENV = typeof env.NODE_ENV === "string" ? process.env.NODE_ENV : "production"
} = env;
return {
entry: "./index.ts",mode: NODE_ENV,target: "node",output: {
path: path.resolve(__dirname,"build"),filename: "index.js"
},resolve: {
extensions: [".ts",".js",".d.ts"],plugins: [new TsconfigPathsPlugin({ })],},watch: NODE_ENV === "development",module: {
rules: [
{
test: /\.ts$/,use: [
"ts-loader",]
}
]
},externals: [nodeExternals()],plugins: [
new nodemonPlugin(),],};
};
使用 webpack --env NODE_ENV=development
启动的
如果您有任何想法,那就太好了,谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)