В качестве забавного проекта я делаю "фреймворк" для создания нативных веб-компонентов.Я создал загрузчик веб-пакетов, который анализирует некоторые XML в пользовательских файлах .comp
и экспортирует класс es2015.К сожалению, я не могу найти способ импортировать эти .comp
файлы в мои файлы машинописного текста.
Я попытался импортировать свои пользовательские файлы в обычный файл javascript, и все работает как положено;Я вижу, что созданный мной загрузчик работает, и получаю ожидаемый результат.Но когда я пытаюсь импортировать в машинописный файл, я просто получаю ошибку Cannot find module 'test/test.comp'
.Я попытался создать пустой файл декларации и заметил, что сообщение об ошибке меняется на File '[path]/test/test.d.ts' is not a module
Вот мой конфиг веб-пакета:
mode: 'development',
watch: true,
entry: './test/main.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'build')
},
module: {
rules: [
{
test: /\.ts/,
use: 'ts-loader',
exclude: /node_modules/
},
{
test: /\.comp/,
use: path.resolve(__dirname, 'core/compose-loader.js'),
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.js', '.ts', '.comp'],
alias: {
'core': path.resolve(__dirname, "core/"),
'test': path.resolve(__dirname, "test/")
}
}
И мой tsconfig.json
{
"compilerOptions": {
"outDir": "build",
"baseUrl": ".",
"paths": {
"core": ["core/*"],
"test": ["test/*"]
},
"target": "es2015",
"typeRoots": ["./core"]
},
"include": [
"test/*.ts"
],
"exclude": [
"core",
"node_modules",
"**/*.comp"
]
}