unexpected token export
是一个常见的JavaScript错误,通常出现在浏览器环境中尝试使用ES6模块语法(如export
和import
)时。这个错误的原因是浏览器默认不支持ES6模块语法,或者你的代码运行环境没有正确配置以支持这种语法。
export
导出函数、对象或原始值,通过import
导入这些值。require
和module.exports
。Babel是一个JavaScript编译器,可以将ES6代码转换为向后兼容的JavaScript版本。
npm install --save-dev @babel/core @babel/cli @babel/preset-env
创建.babelrc
文件:
{
"presets": ["@babel/preset-env"]
}
然后运行:
npx babel src --out-dir dist
Webpack是一个模块打包工具,可以处理ES6模块并生成浏览器兼容的代码。
npm install --save-dev webpack webpack-cli babel-loader
配置webpack.config.js
:
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
}
};
type="module"
如果你直接在浏览器中使用ES6模块,可以在<script>
标签中添加type="module"
属性。
<script type="module" src="path/to/your/module.js"></script>
假设你有一个模块math.js
:
// math.js
export function add(x, y) {
return x + y;
}
你可以这样导入和使用它:
// index.js
import { add } from './math.js';
console.log(add(2, 3)); // 输出: 5
通过上述方法,你可以解决unexpected token export
错误,并正确地在项目中使用ES6模块语法。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云