简体   繁体   English

跨不同 NPM 工作区共享资产

[英]Sharing assets across different NPM Workspaces

I have an NPM Workspaces React project and I want to create an 'assets' workspace from which all my workspaces can import images and other assets.我有一个 NPM Workspaces React 项目,我想创建一个“资产”工作区,我的所有工作区都可以从中导入图像和其他资产。 The dir structure will look like this:目录结构如下所示:

project/
├─ assets/
│  ├─ public/
│  │  ├─ logo.png
├─ package1/
├─ package2/

My question is: In the aforementioned example what would a recommended way to use logo.png in package1?我的问题是:在上述示例中,在 package1 中使用 logo.png 的推荐方法是什么?

2 possible ways: 2种可能的方式:

A. Serve whats in the assets/ dir with something like http-server . A. 使用http-server之类的服务提供 assets/ 目录中的内容。 Load them in react app like CDN assets.将它们像 CDN 资产一样加载到 React 应用程序中。

<img src="http://localhost:8888/assets/public/logo.png" alt="logo"/>

B. Init a package.json in assets/ with same name, so it becomes a workspace package. Then you can import from that package as a regular import. B. 在 assets/ 中初始化一个同名的 package.json,所以它变成一个工作空间 package。然后你可以从那个 package作为常规导入导入。

import logo from 'assets/public/logo.png';

If direct asset import is supported (for example nextjs), then option B would work better.如果支持直接资产导入(例如 nextjs),那么选项 B 会更好。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM