很抱歉提出同样的问题,但经过许多博客/ SO回答后,我无法解决此问题。
Package.json如下:在这里我已经添加了类型模块,但是没有运气,还添加了--experimental-modules标志
"name": "my-react-app",
"version": "1.1.1",
"private": true,
"type": "module",
"scripts": {
.......
"start": "webpack-dev-server --env.dev",
"start:server": "node --experimental-modules src/server/bootstrap.js",
.....
},
"dependencies": {
"@babel/runtime": "^7.10.2",
"babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
"babel-polyfill": "^6.26.0",
"babel-preset-es2015": "^6.24.1",
"custom-event-polyfill": "^1.0.6",
"fbemitter": "^2.1.1",
"install": "^0.12.1",
"precise-ui": "^1.3.0",
"react": "^16.13.1",
"react-dom": "^16.4.2",
"react-fast-compare": "^2.0.2",
"react-open-weather": "^0.3.0",
"react-router-dom": "^4.3.1",
"styled-components": "^5.1.1"
}
....
}
src / server / bootstarp.js我已经添加了预设
require('ignore-styles');
require('babel-register')({
ignore: [ /(node_modules)/ ],
presets: ["env", "react", "stage-2","es2015","es2016"],
plugins: []
});
require('./index');
bable.config.js如下:
{
"presets": ["env", "react", "stage-2","es2015","es2016"],
"plugins": [],
"env": {
"test": {
"plugins": [
[
"istanbul",
{
"include": [
"src/**.*"
],
"exclude": [
"dist/**.*",
"node_modules/**.*",
"tests/**.*"
]
}
]
]
}
}
}
执行npm run start:server时出现错误:
node --experimental-modules src/server/bootstrap.js
/Users/zospakir/Projects/my-react-app/node_modules/precise-ui/dist/es6/index.js:1
import * as colors from './colors';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1116:16)
at Module._compile (internal/modules/cjs/loader.js:1164:27)
at Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
at Object.require.extensions.<computed> [as .js] (/Users/zospakir/Projects/my- react- app/node_modules/babel-register/lib/node.js:152:7)
节点版本:v14.4.0 NPM版本:6.14.5
我也试图将bootstrap.js更改为bootstrap.cjs,但这也没有帮助
答案 0 :(得分:0)
尝试一下:
npm install babel-plugin-syntax-dynamic-import --save
bable.config.js设置导入插件:
"plugins": [
"syntax-dynamic-import"
]
参阅link
谢谢