【发布时间】:2019-06-13 19:03:17
【问题描述】:
我正在尝试在一个项目中使用来自emotion library 的css prop,我在另一个开发人员之后超越了这个项目。在文档中,他们说开始使用css prop 的一种方法是使用Babel Preset。我在babel.config.js 中将@emotion/babel-preset-css-prop 添加到presets,但我遇到了这个非常有趣的错误。 ReferenceError:未定义导出。
我无法找到任何线程会引用此错误与 emotion library 直接关联,所以我假设我在基本 babel 设置中做错了什么。
是否有可能使用babel.config.js 而不是.babelrc 会导致这样的错误?
感谢您的宝贵时间!
这是我的 babel.config.js
module.exports = (api) => {
api.cache(false);
return {
presets: [
'@emotion/babel-preset-css-prop',
[
'@babel/preset-env',
{
modules: false,
loose: true,
targets: {
browsers: ['last 2 versions'],
},
},
],
'@babel/preset-react',
],
plugins: [
'react-hot-loader/babel',
[
'transform-imports',
{
lodash: {
transform: 'lodash/${member}',
preventFullImport: true,
},
},
],
['import', { libraryName: 'antd', libraryDirectory: 'lib', style: true }],
['@babel/plugin-proposal-class-properties'],
'@babel/plugin-proposal-async-generator-functions',
'@babel/plugin-proposal-object-rest-spread',
'@babel/plugin-transform-modules-commonjs',
],
};
};
【问题讨论】:
-
你试过将'@emotion/babel-preset-css-prop'移到列表底部吗?
-
在 babel 7.x 中,它将在根目录中获取
babel.config.js,否则为.babelrc。当代码没有通过诸如 babel 之类的编译器时,该错误也会显示,请确保您的 webpack 正在使用 babel-loader
标签: reactjs babeljs core-motion emotion