先删掉node_modules
下的core-js
文件夹,并删除package-lock.json
文件,这文件会锁定版本,导致安装无效。并删掉package.json
里core-js
的版本(如果有的话)。
// 这个安装完,会装@2的最新版本 "core-js": "^2.6.12"
npm install core-js@2
// 降版本之后package.json里core-js的版本是这个:
"dependencies": {
"core-js": "^2.6.12"
},
// babel.config.json 配置文件的内容是官网来的,详见:https://www.babeljs.cn/docs/usage
{
"presets": [
[
"@babel/env",
{
"targets": {
"edge": "17",
"firefox": "60",
"chrome": "67",
"safari": "11.1"
},
"useBuiltIns": "usage",
"corejs": "2.6.12"
}
]
]
}
// a.js
function aa(){
console.log('aaaaaa')
}
const bb = 111;
export const cc = 222; // 单个导出 ,导入的写法: import { cc } from './a'
export { aa }
export default bb
// b.js
import { aa, cc } from "./a"
import b from "./a"
// 上面这俩import 可以合并成一条 import b,{ aa, cc } from "./a" 当然写俩也不会报错
console.log(aa(),cc)
console.log(b)
// package.json的scripts对象里 配置build 快捷命令
"scripts": {
"build": "npx babel src --out-dir dist"
},
// 执行这条命令,会编译src文件夹并在src同级目录生成一个dist文件夹,里面是编译后的a.js b.js ,打开编译后的b.js ,
npm run build
// 然后 鼠标右键 选 Run Code 菜单 (vscode里要先安装Code Runner 这个扩展,这玩意好用的很,直接执行代码,vscode控制台-输出 里可看代码的运行结果)运行正常,编译成功!
目前官网最新版是3.6.5
的版本,编译后,引用的core-js
包路径是这样的 require("core-js/modules/web.dom-collections.iterator.js")
,关键是我node_module
有这个文件,但就是报找不到这个包
降版本之后,编译完的代码里引用的core-js
包路径就是这样的 require("core-js/modules/web.dom.iterable.js")