在 JS 中工作时,在 Typescript 项目中添加本地依赖项不起作用
Posted
技术标签:
【中文标题】在 JS 中工作时,在 Typescript 项目中添加本地依赖项不起作用【英文标题】:Adding local dependency in a Typescript project doesn't work when it works in JS 【发布时间】:2021-10-14 10:46:09 【问题描述】:我已经能够通过运行yarn link ../path
将本地包导入到项目中,这会在package.json
中添加一个resolution
字段来告诉捆绑程序在哪里可以找到一个包,基本上是给它一个别名。
奇怪的是,虽然当我正在从 .jsx
导入文件时这有效,但没有更改任何其他内容,但如果我从 .tsx
导入,则找不到该模块。
所以罪魁祸首可能是 ts-loader、Typescript(它如何处理导入)、webpack 或 yarn。我不知道这是因为我做错了什么还是这是一个错误。
所以文件夹结构可能是:
--ProjectMain
----/src
------index.jsx
----package.json
--ProjectToImport
----/src
------index.js
----package.json
我在 ProjectMain 的 webpack.config.js
中有以下内容
module:
rules: [
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /\.yarn/,
,
test: /\.jsx?$/,
use:
loader: 'babel-loader',
options:
presets: ['@babel/preset-react']
,
,
exclude: /\.yarn/
],
,
ProjectToImport 的 index.js
看起来像
export function SharedLibTest(a)
console.log(a)
【问题讨论】:
【参考方案1】:似乎整件事是因为在我的ProjectToImport/package.json
中,我使用了"main": "/src/index.js"
,而不是"main": "src/index.js"
我不知道为什么这会因为我使用 TS 而有所不同,请你们中的聪明人赐教。
【讨论】:
以上是关于在 JS 中工作时,在 Typescript 项目中添加本地依赖项不起作用的主要内容,如果未能解决你的问题,请参考以下文章
无法让 css 模块在 Typescript Storybook 项目中工作
当 URL 在浏览器中工作时,啥可能导致“连接 ETIMEDOUT”错误?
在 MVC 结构中工作时,DAO 是不是与 Model 相同? [复制]
谷歌地理编码 api 在 Apache Cordova 中的 Ripple 系统中工作时无法在 Android 手机中工作