以下是我的应用程序文件,这些文件使用babel将main.js
中的ES6编译为main.bundle.js
中的ES5
这是我的babel.rc
文件(隐藏):
{
"presets": ["@babel/preset-env"]
}
这是我的package.json
文件,其中包含我所有的节点模块(devDependencies):
{
"name": "es6-tutorial",
"version": "1.0.0",
"description": "ES6 tutorial",
"main": "index.js",
"scripts": {
"babel": "babel js/main.js -o build/main.bundle.js",
"start": "http-server",
"watch": "babel js/main.js -o build/main.bundle.js --watch"
},
"author": "me",
"license": "ISC",
"devDependencies": {
"@babel/preset-env": "^7.2.0",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
"babel-preset-es2015": "^6.24.1",
"http-server": "^0.11.1"
}
}
现在立即开始从ES6到ES5进行编译,我导航(cd
)到该目录的根目录,并设置了一个手表以自动编译(npm run watch
)
工作正常,除了现在我要在myFunctions.js
中具有要导出并导入main.js
的功能
添加此导出/导入时,我注意到编译后的文件main.bundle.js
添加了以下内容:
`var _myFunctions = require('myFunctions.js');`
然后,当我去运行应用程序时,在控制台中出现错误:
`Uncaught ReferenceError: require is not defined
at main.bundle.js:9`
在研究了这一点之后,我认为我需要为Babel添加某种插件:https://babeljs.io/docs/en/plugins#modules以处理导出/导入(是吗?),但是我不确定应该使用哪个插件,我尝试了一些,但在npm安装后我什么都无法工作。
我还知道我不需要添加require.js
库吗?