NPM软件包导入如何解决

时间:2019-11-09 20:36:08

标签: javascript typescript webpack yarn monorepo

我有一个带有纱布,纱线工作区和以下结构的单体仓库:

- packages
  - a_webpack
    - src
      - index.ts
    - dist
      - main.js
      - main.css
  - b_tsc
    - src
      - indes.ts
    - dist
      - index.js

软件包a_webpackb_tsc都将由另一个软件包c消费。

  • b_tsc上,我运行tsc编译到其dist文件夹中。
  • a_webpack上,我运行webpack进行同样的操作

我主要使用webpack,因为我可以在dist中获得一个可以导入的单独的.css文件

当我在b_tsc包中导入c时,

import { something } from 'b_tsc'

一切正常。

当我这样做时:

import 'b_tsc/dist/main.css'

有效。

但是,当我尝试:

import { something } from 'a_webpack'

我正在得到:

Module not found: Can't resolve 'a_webpack'

  1. 问题 即使我将webpack的输出更改为生成dist/index.js,它也不起作用。我在这里做什么错了?

  2. 一般问题 如上所示进行导入时,编译器如何知道它需要查看dist/main.js或该程序包中的任何其他入口点?

1 个答案:

答案 0 :(得分:0)

弄清楚了: 入口点是在package.json的{​​{1}}属性中指定的。

那为我解决了导入问题。