我正在开发一个NodeJS/TypeScript应用程序,我希望能够从dist/文件夹启动它。
每个src和dist文件夹的结构如下所示:
server/
|---dist/
| |---server/
| |---src/
| |---index.js
| |---utils/
| |---connection.js
|---src/
| |---index.ts
| |---utils/
| |---connection.ts
|
|---package.json
|---tsconfig.json
这个dist
文件夹是生成的代码,这个路径是使用我的tsconfig.json文件中的outdir
配置的。
我还将package.json中的main属性配置为dist/server/src/index.js
,将type属性配置为module
在此项目中,我使用Typescript4.0.5
我已将tsconfig.json中的paths属性指定为“utils/*”:[“src/utils/*”]
,baseUrl属性指定为“./”,属性ModuleResolution
strategy指定为Node
现在这是我的问题。我希望能够像在源代码中一样导入模块,但这次直接从dist
文件夹中导入,如下所示:
import createConnection from 'utils/connexion';
但是,当我悬停在VScode中的导入声明时,它似乎无法解析模块,并且我得到一个错误错误[ERR_MODULE_NOT_FOUND]:无法找到从/home/maxime/dev/jeuxduplacard/packages/server/dist/server/src/index.js
导入的包'utils'。
dist文件夹中的文件路径与Server文件夹中的文件路径相同。如果问题来自模块解析,是否有一种方法可以持久化dist文件夹中的路径别名(而不安装第三方库)?
{
"compilerOptions": {
"esModuleInterop": true,
"target": "es2020",
"moduleResolution": "node",
"sourceMap": true,
"baseUrl": "./",
"outDir": "dist",
"strict": true,
"lib": ["ES2017", "ES2020"],
"types": [
"node"
],
"allowSyntheticDefaultImports": true,
"noImplicitAny": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"resolveJsonModule": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"incremental": true,
"skipLibCheck": true,
"strictPropertyInitialization": false,
"paths": {
"utils/*": ["src/utils/*"]
}
}
}
谢谢
是的,因为你不能从工作目录之外导入文件。您可以做的是,您可以链接一个本地模块,并像访问任何其他npm包一样访问它。
npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]
alias: npm ln
https://docs.npmjs.com/cli/v6/commands/npm-link
问题内容: 给定这样的目录结构 我如何使用Python的 相对进口 到进口的?通过将其添加到路径中,可以得到一个可行的解决方案,但这很丑陋。有没有一种方法可以在Python 2.7中简单地处理一个? 这是此问题的更复杂版本: 从父文件夹导入模块 问题答案: 正确的相对导入为: 但是,相对进口仅在一个包装中起作用。如果是软件包,则可以在此处使用相对导入。如果不是包,则不能。 因此,如果您在中运行脚本
我们有一个项目,我们建立与Gradle。我们使用IntelliJ作为我们的开发环境。我们有一些资源想要保存在JAR之外,所以我们将它们放在src/dist-文件夹中。这在从命令行运行应用程序时工作得很好,但当我们想从IntelliJ调试时就不那么好了。我们可以向src/dist放一个运行时依赖项,但是我们最终会在生成的ZIP文件中使用lib-folder中的文件,而这不是我们想要的。 看起来这个问
问题内容: 我想将子文件夹导入为模块。因此,每个子文件夹都包含一个。我的文件夹结构是这样的: 在我的主脚本中,我导入 在此工厂文件中,我包括以下子模块: 如果我调用我的foofactory会收到错误消息,则该python无法导入子模块foo1和foo2: 问题答案: 无需与您或此处混淆。 为了在包中正确使用绝对导入,您还应该包括“ root”包名,例如: 或者您可以使用相对导入:
我在C:/Users/user/AppData/Roaming/npm/node_modules路径中拥有所有节点模块。然后我尝试为我的脚本网页包含带有巴别塔和巴别塔预设的node_模块。 我的webpack.config.js 但巴贝尔并没有看到2015年。我也这么认为。 命令重新执行以下命令: 请帮忙。错在哪里?
问题内容: 我正在运行Python 2.5。 这是我的文件夹树: (我还在每个文件夹中,为便于阅读,在此省略) 如何nib从模块内部导入life模块?我希望无需修补就可以做到。 注意:正在运行的主模块在ptdraft文件夹中。 问题答案: 看来问题与该模块位于父目录或类似目录中无关。 你需要将包含的目录添加到PYTHONPATH 你说过与你合作,这可能意味着你已将自身(而非其父项)添加到PYTHO