[英]Typescript import returns “Cannot find module”
我正在嘗試將模塊導入為import Something from "@module"
,但它返回
找不到模塊“@config”
"@module" 是 "./src/utils/module" 的別名
“應用程序.ts”
import 'module-alias/register';
import Something from '@module';
“/utils/module.ts”
export enum Something {
CONSTANT = 'constant'
}
“包.json”
{
"name": "crawler",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"dev": "nodemon ./src/app.ts",
},
"author": "",
"license": "ISC",
"devDependencies": {
"@types/node": "^13.11.1",
"nodemon": "^2.0.3",
"ts-node": "^8.8.2",
"typescript": "^3.8.3"
},
"dependencies": {
"module-alias": "^2.2.2"
},
"_moduleAliases": {
"@module": "./src/utils/module"
}
}
“tsconfig.json”
{
"compilerOptions": {
"baseUrl": ".",
"module": "commonjs",
"esModuleInterop": true,
"target": "es6",
"lib": [
"es6"
],
"outDir": "dist",
"noEmitOnError": true,
"sourceMap": true
},
"include": [
"src/**/*.ts"
],
"paths": {
"@module": [
"./src/utils/module"
]
},
"exclude": [
"node_modules"
]
}
為什么import "@module"
和const Something = require('@module')
工作正常,而import Something from "@module"
返回找不到模塊錯誤?
這是項目結構:
- crawler
|-- src
-- app.ts
|-- utils
-- module.ts
我有一個與“時刻”類似的問題,我有如下導入,它確實有效。
import * as moment from 'moment';
請注意,在通過這種方式導入 moment 進行開發時,導入看起來不錯,但是在進行 prod 編譯時可能會出現 AOT 錯誤,例如“無法使用引用”或類似的東西。 為了不詳細說明,這與一些 CommonJS 模塊有關(據我所知)。 Moment 很受歡迎,所以它似乎出現了很多。
為了解決這個問題(我在幾周前遇到了這個問題),請將“moment”設置為 const:
import * as moment from 'moment':
(later where you declare consts)
const _moment = moment;
然后在代碼中使用 _moment。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.