我正在尝试使用节点在我的服务器端运行一些 React 代码。按照教程,我正在尝试将 babel 添加到我的节点服务器,以便将 JSX 转换为 JS。
我将运行脚本添加到我json.config
的使用 babel-node 如下(我使用“watch-server”脚本进行开发):
"scripts": {
"start": "start:dev",
"server": "node babel-node ./server/index.js",
"start:dev": "webpack && npm run server",
"start:prod": "webpack && npm run server",
"test": "jest",
"test:debug": "jest --debug",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage --colors",
"watch-server": "nodemon -e js,scss,jsx --ignore '*.bundle*.js' --verbose --exec npm run start:dev"
我遇到的问题是当我尝试运行时npm run watch-server
出现错误:
> node babel-node ./server/index.js
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '/Users/zarnowm/Documents/GitHub/dsr-ux/babel-node'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
这是我的依赖项的片段:
"devDependencies": {
"@babel/core": "^7.4.3",
"@babel/node": "^7.14.9",
"@babel/plugin-proposal-class-properties": "^7.4.0",
"@babel/plugin-proposal-object-rest-spread": "^7.4.3",
"@babel/plugin-transform-runtime": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"@babel/preset-react": "^7.0.0",
"@babel/runtime": "^7.5.0",
并且.babelrc
:
{
"env": {
"test": {
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-transform-runtime"
]
}
}
}
我正在努力找出问题所在...