don*_*don 6 import node.js typescript
我正在尝试在 NodeJS 项目中使用该paths
属性tsconfig.json
。
在tsconfig.json
我有这样的事情:
"baseUrl": ".",
"paths": {
"@myApp/server/*": [
"server/src/*"
],
"@myApp/common/*": [
"common/src/*"
]
},
Run Code Online (Sandbox Code Playgroud)
运行tsc
按预期输出所有 JS 文件,但它们保留@myApp...
导入。因此,node
不会运行,因为它无法解析所有具有 as path 的模块@myApp...
。
我找不到将paths
我设置tsconfig.json
的值转换为node
. 我只在 SO 上发现了这个问题,但它已经过时了,并没有找到一个干净的解决方案。
我们是否有办法以我们能够使用的方式将 TS 转换为 JS paths
?
Fac*_*alm 13
如果这里有人使用 nodejs 和tsconfig-paths
. 您可以使用以下命令使绝对路径起作用:
// With ts-node
ts-node -r tsconfig-paths/register src/main.js
// With node
node -r ts-node/register/transpile-only -r tsconfig-paths/register dist/main.js
Run Code Online (Sandbox Code Playgroud)
从这里得到这个: https: //github.com/dividab/tsconfig-paths/issues/61
直到今天,我一直按照接受的答案中的建议使用tspathbaseUrl: \'../\'
,但我开始遇到一些具有 as 的相对路径的问题。
我切换到webpack
基于方法,使用以下webpack.config.ts
配置:
import { TsConfigPathsPlugin } from \'awesome-typescript-loader\';\nimport * as fs from \'fs-extra\';\nimport { join } from \'path\';\nimport * as webpack from \'webpack\';\n\nconst packageConfig = fs.readJSONSync(\'./package.json\', { encoding: \'utf-8\' });\n\nconst externals = {};\nfor (const packageName in packageConfig.dependencies)\n externals[packageName] = packageName;\n\nconst serverConfig: webpack.Configuration = {\n entry: {\n index: \'./src/index.ts\'\n },\n resolve: {\n extensions: [\'.ts\', \'.js\'],\n plugins: [\n new TsConfigPathsPlugin({ configFileName: \'tsconfig.json\' })\n ]\n },\n target: \'node\',\n node: {\n __dirname: false\n },\n externals,\n output: {\n path: join(__dirname, \'dist\'),\n filename: \'[name].js\',\n library: \'[name]\',\n libraryTarget: \'umd\'\n },\n module: {\n rules: [{\n test: /\\.ts$/,\n loader: \'awesome-typescript-loader\'\n }]\n },\n plugins: [\n new webpack.BannerPlugin(`Copyright \xc2\xa9 2018-${new Date().getFullYear()} BOHR. All rights reserved.`)\n ],\n mode: \'production\',\n optimization: {\n minimize: false\n }\n};\n\n// tslint:disable-next-line:no-default-export\nexport default [serverConfig];\n
Run Code Online (Sandbox Code Playgroud)\n\n请注意导入,您将需要添加一些包才能使用此配置。
\n 归档时间: |
|
查看次数: |
7313 次 |
最近记录: |