Я работаю над своим первым npm пакетом. Простой класс, который облегчает обратный отсчет от указанной даты, используя UNIX время. У меня работает сборка webpack, и у меня локальная установка модуля npm с ссылкой npm для тестирования. Однако, когда я устанавливаю модуль npm в локальном проекте для тестирования, я получаю эту ошибку:
*
Ошибка типа: _node_modules_countdown_lib_lib__WEBPACK_IMPORTED_MODULE_3 ___ default.a не является конструктором
*
Webpack Config:
const path = require('path');
const webpack = require('webpack');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
mode: 'development',
entry: './src/index.ts',
devtool: 'inline-source-map',
plugins: [new CleanWebpackPlugin()],
module: {
rules: [
{
test: /\.ts$/,
use: 'ts-loader',
exclude: ['/node_modules/'],
},
],
},
resolve: {
extensions: ['.ts', '.js'],
},
output: {
filename: 'index.js',
path: path.resolve(__dirname, 'lib'),
publicPath: '/',
globalObject: 'this',
},
};
tsconfig:
{
"compilerOptions": {
"outDir": "./lib",
"strict": true,
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true
},
"include": ["src"],
"exclude": ["node_modules", "lib"]
}
Оператор импорта в тестовом проекте:
import Countdown from "../node_modules/countdown-lib/lib";
определение класса и экспорт (без конструктора)
export default class Countdown {}