Я пытаюсь создать файл пользовательского определения для моей внешней библиотеки JS.Я получаю сообщение, что Module not found: Error: Can't resolve
.Я использую этот проект https://github.com/juristr/webpack-typescript-starter.
Я хотел сохранить мои файлы d.ts в корневой папке внутри custom_typings.Структура проекта выглядит следующим образом:
- custom_typing
- node_modules
- src
- webpack.config.js
- tsconfig.json
greeter.ts
import * as t from './../custom_typing/index';
export class Greeter {
constructor(name: string) {
t.test('dasd');
}
greet(): void {
}
}
webpack.config.js
const path = require('path');
const webpack = require('webpack');
const ROOT = path.resolve( __dirname, 'src' );
const DESTINATION = path.resolve( __dirname, 'dist' );
module.exports = {
context: ROOT,
entry: {
'main': './main.ts'
},
output: {
filename: 'app.bundle.js',
path: DESTINATION
},
resolve: {
extensions: ['.ts', '.js'],
modules: [
ROOT,
'node_modules'
]
},
module: {
rules: [
/****************
* PRE-LOADERS
*****************/
{
enforce: 'pre',
test: /\.js$/,
use: 'source-map-loader'
},
{
enforce: 'pre',
test: /\.ts$/,
exclude: /node_modules/,
use: 'tslint-loader'
},
/****************
* LOADERS
*****************/
{
test: /\.ts$/,
exclude: [ /node_modules/ ],
use: 'awesome-typescript-loader'
}
]
},
devtool: 'cheap-module-source-map',
devServer: {}
};
tsconfig.json
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"allowJs": true
}
}
мой пример index.d.ts
export declare function test(test: string): void;
Когда я запускаю команду webpack, я получаю
ОШИБКА в ./greeter.ts Модуль не найден: Ошибка: не удается разрешить './../custom_typing/index '
Edit.
Когда я переименовал index.d.ts в index.ts, он, кажется, работает, но мне все еще нужно, чтобы файл d.ts работал.