【问题标题】:Adding local dependency in a Typescript project doesn't work when it works in JS在 JS 中工作时,在 Typescript 项目中添加本地依赖项不起作用
【发布时间】: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)
}

【问题讨论】:

    标签: typescript webpack yarnpkg ts-loader yarnpkg-v2


    【解决方案1】:

    似乎整件事是因为在我的ProjectToImport/package.json 中,我使用了"main": "/src/index.js",而不是"main": "src/index.js"

    我不知道为什么这会因为我使用 TS 而有所不同,请你们中的聪明人赐教。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      相关资源
      最近更新 更多