首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您可能需要一个适当的加载程序来处理此文件类型,目前还没有配置加载程序来处理此文件。摩卡酶+ webpack

您可能需要一个适当的加载程序来处理此文件类型,目前还没有配置加载程序来处理此文件。摩卡酶+ webpack
EN

Stack Overflow用户
提问于 2020-03-21 15:12:08
回答 1查看 334关注 0票数 0

我正在设置mocha + chai +酶来测试我的反应成分。我已经设置了webpack.config.js文件如下

webpack.config.js

代码语言:javascript
复制
const path = require("path");
const HtmlPlugin = require("html-webpack-plugin");

module.exports = {
    node: {
        fs: 'empty'
    },
    entry: "./App.js",
    output: {
        path: path.join(
            __dirname, '/prod'
        ),
        filename: "app.bundle.js",
    },
    module: {
        rules: [
            {
                test: /\.js$|jsx/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                }
            },
            { test: /\.js$|jsx/, use: 'mocha-loader' },
        ],
        options: {
            presets: ["es2015"]
        },
    },
    resolve: {
        extensions: ['*', '.js', '.jsx'],
    },
    plugins: [
        new HtmlPlugin({
            template: './public/index.html'
        })
    ]
}

webpack.config.test.js

const webPackExternals =require(‘webpack-节点-外部’)

代码语言:javascript
复制
module.exports = {
    mode:'development',
    target: 'node',
    externals: [webPackExternals()],
    module: {
        rules: [
            {
                test: /\*.test\.js$/,
                use: ['mocha-loader'],
                exclude: /node_modules/,
            },
            { test: /\.css$/, use: 'css-loader' },
        ]
    },
}

package.json

代码语言:javascript
复制
{
  "name": "tobacco-free",
  "version": "1.0.0",
  "description": "",
  "main": "App.js",
  "scripts": {
    "build": "webpack --mode production",
    "dev": "webpack-dev-server --mode development --open --hot",
    "start": "serve ./prod",
    "test": "mocha-webpack --webpack-config webpack.config.test.js \"./src/**/*.test.js\"",
    "coverage": "nyc --reporter=lcov --reporter=text npm run test"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "istanbul-instrumenter-loader": "^3.0.1",
    "mapbox-gl": "^1.8.1",
    "nyc": "^15.0.0",
    "react": "^16.13.0",
    "react-dom": "^16.13.0",
    "react-redux": "^7.2.0",
    "react-router-dom": "^5.1.2",
    "redux": "^4.0.5",
    "redux-thunk": "^2.3.0",
    "serve": "^11.3.0",
    "webpack": "^4.42.0",
    "webpack-cli": "^3.3.11"
  },
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "7",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "chai": "^4.2.0",
    "enzyme": "^3.11.0",
    "enzyme-adapter-react-16": "^1.15.2",
    "html-webpack-plugin": "^3.2.0",
    "mocha": "^7.1.1",
    "mocha-loader": "^4.0.2",
    "mocha-webpack": "2.0.0-beta.0",
    "webpack-dev-server": "^3.10.3",
    "webpack-node-externals": "^1.7.2"
  }
}

当我运行纱线测试时,我得到了这个错误 https://github.com/amkayondo/imgBank/blob/master/Annotation%202020-03-21%20173230.jpg

代码语言:javascript
复制
You may need an appropriate loader to hand
le this file type, currently no loaders are 
configured to process this file.

但是我不知道它需要哪个加载程序,因为我在中添加了:'mocha- loader '。请帮我解决这个问题

EN

回答 1

Stack Overflow用户

发布于 2020-03-21 15:34:22

我将mocha-loader替换为babel-loader,以使摩卡能够理解.jsx文件,我还将test: /\*.test.js$\/替换为test:/\.js$|jsx/以使摩卡能够访问测试及其组件,我还将解决键添加到resolve: { extensions: ['*', '.js', '.jsx'],}文件中,以使摩卡能够读取js和jsx文件。

改性webpack.config.test.js

代码语言:javascript
复制
const webPackExternals = require('webpack-node-externals')

module.exports = {
    mode:'development',
    target: 'node',
    externals: [webPackExternals()],
    module: {
        rules: [
            {
                test: /\.js$|jsx/,
                use: 'babel-loader',
                exclude: /node_modules/,
            },
            { test: /\.css$/, use: 'css-loader' },
        ]
    },
    resolve: {
        extensions: ['*', '.js', '.jsx'],
    },
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60789471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档