我正在尝试通过我的webpack项目设置Jest。当我运行测试时,Jest抱怨说它无法读取es6代码。Babel似乎无法转换我的测试文件。
我尝试了在互联网上找到的各种解决方案,但仍然感到困惑。也许其他人具有更多Babel / Webpack知识,可以查看我的配置并帮助我。
相关的package.json脚本:
{
"test": "jest --no-cache --config config/jest.config.js"
}
Run Code Online (Sandbox Code Playgroud)
相关的package.json deps:
"@babel/core": "^7.2.2",
"@babel/plugin-proposal-class-properties": "^7.3.0",
"@babel/preset-env": "^7.3.1",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"babel-eslint": "^10.0.1",
"babel-jest": "^24.0.0",
"babel-loader": "^8.0.5",
"babel-plugin-styled-components": "^1.10.0",
"jest": "^24.0.0",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1",
"webpack-dev-server": "^3.1.14"
Run Code Online (Sandbox Code Playgroud)
config / webpack.config.js:
entry: './src/index.js',
mode: isProduction ? 'production' : 'development',
devtool: isProduction ? 'none' : 'inline-source-map',
bail: true,
devServer: {
contentBase: 'build',
compress: true,
port: 3000,
},
output: {
path: path.resolve(__dirname, 'build'),
filename: '[name].[chunkhash].js',
},
module: {
rules: [ …Run Code Online (Sandbox Code Playgroud) 我有一个 create-react-app 项目,使用绝对导入和 css 模块(scss)。我正在尝试定义自定义字体,但导入未得到解决。
尝试了文档中建议的所有内容。
我的文件夹结构
jsconfig.json
public
src
L assets
L fonts
L impact.ttf
L index.js
L index.scss
Run Code Online (Sandbox Code Playgroud)
在我的index.scss中
@font-face {
font-family: 'impact';
src: url(./assets/fonts/impact.ttf) format('ttf');
}
Run Code Online (Sandbox Code Playgroud)
我的 jsconfig.json (用于绝对导入)
{
"compilerOptions": {
"baseUrl": "src"
},
"include": ["src"]
}
Run Code Online (Sandbox Code Playgroud)
import './index.scss'我的 index.js在文件顶部导入。当我尝试编译此代码时,我的组件抛出一个错误,指出无法解析字体文件...
Module not found: Can't resolve './assets/fonts/brush.ttf' in '/Users/xxx/project/src/containers/mycomponent'
Run Code Online (Sandbox Code Playgroud)
还可以使用node-sassscss 文件来工作。这个想不出来了...