我正在尝试打包应用程序“x”并在另一个应用程序“y”中使用它。 这是我的设置:
x/package.json:
{
"name": "x",
"version": "0.0.1",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"antd": "^5.8.6",
"react": "^18.2.0",
"react-copy-to-clipboard": "^5.1.0",
"react-dom": "^18.2.0",
"react-markdown": "^8.0.7",
"react-scripts": "5.0.1",
"react-scroll": "^1.8.9",
"react-syntax-highlighter": "^15.5.0",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"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": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11"
},
"exports": {
"./components/": "./src/components/"
}
}
y/package.json:
{
"name": "y",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4",
"x": "file:x-0.0.1.tgz"
},
"scripts": {
"start": "react-scripts start",
"build": "INLINE_RUNTIME_CHUNK=false react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"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": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11"
}
}
我正在使用
npm pack
打包“x”应用程序,并通过将其添加到 y/package.json 中的“依赖项”部分来安装它。
安装工作正常,但是当我尝试启动“y”应用程序时,我得到:
Support for the experimental syntax 'jsx' isn't currently enabled
“x”包中的代码。
我做错了什么?
确保根项目中的 .babelrc 具有正确的 React jsx 预设
{
"presets": ["@babel/preset-env", "@babel/preset-react"]
}
并且您的 ts.config 支持
"jsx": "react-jsx"
如果错误仍然存在,请在根目录中创建一个 babel.config.js 文件并在那里设置预设。