【发布时间】: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