проблема глотка + кармы, не позволяет мне продвигаться к развитию, терпит неудачу на карме - PullRequest
0 голосов
/ 22 октября 2018

Добрый вечер, ребята, у меня проблема.Я работаю над реагирующим проектом и после внесения некоторых изменений в код я хотел развернуть его в стадии подготовки.Я выполнил команду

gulp deploy --scripts --styles --staging

После этого он завершается ошибкой, когда достигает кармы, и возвращает мне эту ошибку:

22 10 2018 19: 39: 11.114: ОШИБКА [препроцесс]: не удается загрузить «веб-пакет»!WebpackOptionsValidationError: Неверный объект конфигурации.Webpack был инициализирован с использованием объекта конфигурации, который не соответствует схеме API.- configuration.entry должен быть одним из следующих: object {: непустая строка |[непустая строка]} |непустая строка |[непустая строка] |функция Точка входа в компиляцию.Подробности: * configuration.entry НЕ должен иметь менее 1 свойства ({"keyword": "minProperties", "dataPath": ".entry", "schemaPath": "# / oneOf / 0 / minProperties", "params":{"limit": 1}, "message": "НЕ ДОЛЖНО иметь менее 1 свойства", "schema": 1, "parentSchema": {"minProperties": 1, "AdditionalProperties": {"oneOf": [{"description": "Строка преобразуется в модуль, который загружается при запуске.", "minLength": 1, "type": "string"}, {"description": "Все модули загружаются при запуске. Последнийодин экспортируется. "," $ ref ":" # / definitions / common.nonEmptyArrayOfUniqueStringValues ​​"}]}," description ":" Создано несколько входных пакетов. Ключом является имя чанка. Значением может быть строка илимассив. "," тип ":" объект "}," данные ": {}}).объект {: непустая строка |[непустая строка]} Создается несколько входных пакетов.Ключ - это имя чанка.Значение может быть строкой или массивом.* configuration.entry должен быть строкой.* configuration.entry должен быть массивом: [непустая строка] * configuration.entry должен быть экземпляром функции, возвращающей объект ввода или обещание.

Я никогда не работал с Кармойдо этого момента, и я действительно не уверен, что делать здесь или в чем может быть проблема.

Моя версия веб-пакета - 2.15.5, npm - 2.15.5, карма 2.15.5 и узел v4.4.6..

Это karma.conf.js

'use strict';

const path = require('path');
const pathTo = path.join.bind(null, process.cwd());

module.exports = function(config) {
    config.set({

        // base path is app/ so node_modules/ don't get included
        basePath: pathTo('app'),

        files: [
            //'**/__tests__/**/*.js'
            'tests/tests.webpack.js'
        ],

        frameworks: ['mocha', 'sinon-chai', 'chai-jquery', 'chai', 'jquery-2.1.0'],

        browsers: ['PhantomJS'], // or open localhost:9876 in any browser installed

        reporters: ['mocha'],

        mochaReporter: {
            output: 'autowatch' // 'autowatch' or 'minimal'
        },

        preprocessors: {
            //'**/__tests__/**/*.js': ['webpack']
            'tests/tests.webpack.js': ['webpack']
        },

        webpack: {
            module: {
                loaders: [{
                    test: /\.js$/,
                    loader: 'babel',
                    include: [
                        path.join(__dirname, 'app', 'react'),
                        path.join(__dirname, 'app', 'tests'),
                        path.join(__dirname, 'app', 'scripts', '__tests__')
                    ],
                    query: {
                        presets: ['es2015', 'react'],
                        compact: true
                    }
                }]
            }
        },
        webpackServer: {
            noInfo: true
        }

    });
};

А это мой webpack.config.js

'use strict';

const webpack = require('webpack');
const StaticSiteGeneratorPlugin = require('static-site-generator-webpack-plugin');

const path = require('path');
//const config = require('./config');
const data = require('./app/react/data');
const yargs = require('yargs');
const arg = yargs.argv;

const config = {
    production: arg.prod,
    development: arg.dev || (!arg.prod && !arg.pages),
    pages: arg.pages,
    watch: arg.watch
};

// Add Node env. variables to data object so they can be passed and accessed in React.
const dataConfig = Object.assign({}, data, {
    dev: config.development,
    prod: config.production,
    pages: config.pages,
    watch: config.watch
});


function getValues(obj) {
    const allPaths = [];
    Object.keys(obj).forEach(key => allPaths.push(obj[key]));
    return allPaths;
}

/**
 * If --pages flag is passed, webpack will load and generate content pages only and ignore
 * --prod and --dev flags. Else, it will choose dev or prod settings accordingly
 */
const routes = config.pages ? getValues(data.staticPaths) :
                (config.development ? getValues({ INDEX: '/' }) : getValues(data.prodPaths));

let htmlDir = 'build';
if (arg.pages) {
    htmlDir = 'dist/pages';
} else if (arg.prod) {
    htmlDir = 'dist/templates';
}

module.exports = {

    entry: {
        main: path.join(__dirname, 'app', 'react', 'Router.js'),
        dev: path.join(__dirname, 'app', 'react', 'devApp.js')
    },

    output: {
        filename: '[name].bundle.js',
        path: path.join(__dirname, htmlDir),
        libraryTarget: 'umd',
        publicPath: '/'
    },

    // rebuild on change
    watch: false,
    // true by default with watch: true
    cache: true,

    // source map makes sense only when bundle.js is used on page,
    // we don't need it for generating html
    devtool: '#source-map',

    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel',
                include: [
                    path.join(__dirname, 'app', 'react'),
                    path.join(__dirname, 'app', 'data')
                ],
                query: {
                    presets: ['es2015', 'react'],
                    compact: true
                }
            },
            {
                test: /\.md$/,
                loader: 'html!markdown?gfm=false',
                include: [
                    path.join(__dirname, 'app', 'data')
                ]
            },
            {
                test: /\.json$/,
                loader: 'json',
                include: [
                    path.join(__dirname, 'app', 'react'),
                    path.join(__dirname, 'app', 'data')
                ]
            }
        ]
    },

    plugins: [
        new StaticSiteGeneratorPlugin('main', routes, dataConfig),
        new webpack.DefinePlugin({
            'process.env': {
                'MOCK': arg.mock
            }
        })
    ]
};

Я надеюсь, что кто-то может мне помочь в этом.

...