Мой пакет выдает «ModuleNotFoundError» при импорте его в CodeSandBox - PullRequest
0 голосов
/ 24 февраля 2020

Сегодня я опубликовал пакет npm и хотел попробовать его на CodeSandBox. Это работает, если я npm install package-name на локальной машине, но импорт такой же зависимости от проектов CodeSandBox выдает эту ошибку:

пакет. json

{
  "name": "package-name",
  "version": "1.0.20",
  "private": false,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.4.1",
    "@testing-library/user-event": "^7.2.1",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-scripts": "3.4.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "NODE_ENV=production babel src/lib --out-dir dist --copy-files --ignore __tests__,spec.js,test.js,__snapshots__",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "keywords": [
    "react"
  ],
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "main": "dist/index.js",
  "module": "dist/index.js",
  "files": [
    "dist",
    "README.md"
  ],
  "repository": {
    "type": "git",
  },
  "devDependencies": {
    "@babel/cli": "^7.8.4",
    "@babel/core": "^7.8.4",
    "@babel/runtime": "^7.8.4"
  }
}

Мои скомпилированные файлы имеют такой вид импорт сверху:

import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";

Я следовал этот учебник. После запуска npm run build в главном каталоге создается папка dist. Тогда я npm publish. Я попробовал npm install package-name на локальной машине, и она работает, но, как я уже сказал, она не работает на CodeSandBox.

1 Ответ

1 голос
/ 24 февраля 2020

Попробуйте добавить devDependencies к dependencies. devDependencies не экспортируются в сборке, и поэтому, возможно, ваш babel/runtime не работает.

 "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.4.1",
    "@testing-library/user-event": "^7.2.1",
    "@babel/cli": "^7.8.4",
    "@babel/core": "^7.8.4",
    "@babel/runtime": "^7.8.4",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-scripts": "3.4.0"
  }

, а затем соберите и попробуйте.

...