![](/img/trans.png)
[英]Can I resolve an npm install error without deleting my package-lock.json file?
[英]My npm package written without Typescript requires a declaration file on installation
我发表了超基本的npm package。 我计划发布我的一些 React 组件,但我从一个非常简单的 package 作为测试开始。 安装成功,但是当我将一个模块导入另一个项目时,有一个声明警告。
该模块在新项目中工作并呈现,但它有以下错误消息:“找不到模块'skylight-react'的声明文件。'/Users/{my-name}/{project-root}/node_modules /skylight-react/dist/index.js' 隐式具有“任何”类型。尝试npm install @types/skylight-react
(如果存在)或添加包含declare module 'skylight-react';
的新声明(.d.ts)文件declare module 'skylight-react';
ts(7016)"
我写的 package (skylight-react) 是在没有 Typescript 的情况下写的。 package.json
如下:
{
"name": "skylight-react",
"version": "0.3.0",
"private": false,
"main": "dist/index",
"module": "dist/index",
"typings": "dist/index",
"files": [ "dist", "README.md" ],
"repository": {
"type": "git",
"url": "git+https://github.com/jawblia/components.git"
},
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"web-vitals": "^1.0.1"
},
"scripts": {
"start": "react-scripts start",
"build-examples": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"build": "rm -rf dist && NODE_ENV=production babel src/lib --out-dir dist --copy-files --ignore __tests__,spec.js,test.js,__snapshots__"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"@babel/cli": "^7.13.14",
"@babel/core": "^7.13.14",
"@babel/preset-env": "^7.13.12"
}
}
.babelrc
是
{
"presets": ["@babel/preset-env", "@babel/preset-react"]
}
我发布的 package 和我导入的项目都没有使用 Typescript。 任何帮助都非常感谢!!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.