我试图将一个模块导入为import Something from "@module",但它返回
找不到模块“@config”
“@模块”是“./src/utils/模块”的别名。
"app.ts“
import 'module-alias/register';
import Something from '@module';"/utils/module.ts“
export enum Something {
CONSTANT = 'constant'
}"package.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发布于 2020-04-16 12:49:52
发布于 2020-04-16 12:44:11
我有一个类似的问题,“瞬间”,我有像下面这样的导入,它确实工作。
import * as moment from 'moment';发布于 2020-04-16 12:49:19
注意,在通过这种方式进行导入时,导入看起来很好,但是在执行prod编译时可能会出现AOT错误,比如“不能使用引用”之类的东西。为了不详细说明,这必须与一些CommonJS模块有关(据我理解)。现在很受欢迎,所以它似乎出现了相当多。
为了避开那个(几周前我偶然遇到的),把“时刻”设置在一个const上:
import * as moment from 'moment':
(later where you declare consts)
const _moment = moment;然后在代码中使用_moment。
https://stackoverflow.com/questions/61250213
复制相似问题