npm链接未解析



我有两个基本的react应用程序。我正试图将一个组件从一个导入到另一个,但我的link命令不足以解析我需要的模块。

cd ~/workspace/export-test
npm link
cd ~/workspace/import-test
npm link export-test
npm run build
ERROR in ./src/HelloWorld.js 2:0-39
Module not found: Error: Can't resolve 'export-test' in '/Users/username/workspace/import-test/src'

我做错了什么

~/workspace/import测试/

// src/HelloWorld.js
import { ImportMe } from 'export-test'
// package.json
// The exact same as export-test, except for name

~/workspace/export-test/:

// src/index.js
...
import ImportMe from './ImportMe';
render(<ImportMe />, document.getElementById('root'));
...
// src/ImportMe.js
const ImportMe = () => {
return <h1>I have been imported!</h1>;
};
export default ImportMe;
// package.json
{
"name": "export-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start": "webpack-dev-server --mode=development --open --hot",
"build": "webpack --mode=production"
},
"author": "",
"license": "ISC",
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@babel/core": "^7.18.13",
"@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.18.6",
"babel-loader": "^8.2.5",
"css-loader": "^6.7.1",
"html-webpack-plugin": "^5.5.0",
"style-loader": "^3.3.1",
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.10.0"
}

杂项

npm list -g
/Users/username/.nvm/versions/node/v16.17.0/lib
├── export-test@1.0.0 -> ./../../../../../workspace/export-test

只是为了清楚起见。

使用npm link时,package.json中的main属性必须指向要导出的文件。

在这种情况下,它是index.js,但它应该是src/index.js

最新更新