首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让snowpack查看包中的子路径

如何让snowpack查看包中的子路径
EN

Stack Overflow用户
提问于 2020-12-20 01:39:50
回答 1查看 404关注 0票数 1

我现在正在构建一个积雪应用程序,我想在前端导入socket.io client (用于智能感知和离线开发测试)。但是,使用import ... from 'socket.io'时,socket.io仅导出后端材质。

通常,我使用

代码语言:javascript
复制
import { io } from 'socket.io/client-dist/socket.io.js';

它获取所有正确的文件并导出,然而,当使用snowpack构建时,我得到了这个错误:

代码语言:javascript
复制
Package exports for 'C:\dev\JS\Node+Browser\foo\node_modules\socket.io' do not define a './client-dist/socket.io.js' subpath

这会导致构建失败,从而停止所有操作。

现在,我的snowpack.config真的很简单:

代码语言:javascript
复制
module.exports = {
    buildOptions: {
        out: 'dist/client'
    },
    mount: {
        "src/client": "/"
    }
}

我的所有其他模块都运行得很好,因为它们都是使用import ... from 'module-name导入的。我理解这个错误是什么意思,但我在网上找不到任何东西或任何东西来解决它。有人知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-20 09:38:07

注意:这是一个“老生常谈”的修复,我认为它很混乱,不能用于更大的项目。

我通过编辑socket.io包(在node_modules中)的package.json来修补它,使其使用与实际目录路径完全相同的临时导出别名:

node_modules/socket.io/package.json

代码语言:javascript
复制
  "exports": {
    ".": [
      {
        "require": "./dist/index.js",
        "import": "./wrapper.mjs"
              },
      "./src/index.js"
    ],
    "./client-dist/socket.io": "./client-dist/socket.io.js",
    "path-to-other-modules": "same-path"
  },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65372677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档