TypeError: Невозможно прочитать свойство 'push' из неопределенного в hjs-webpack - PullRequest
0 голосов
/ 04 июля 2019

Следующий урок от Fullstack.io: создание клона yelp

В моем файле webpack.config.js:

const webpack = require('webpack');
const fs = require('fs');
const path = require('path'),


join = path.join,
resolve = path.resolve;


const root = resolve(__dirname);
const src = join(root, 'src');
const modules = join(root, 'node_modules');
const dest = join(root, 'dist');

const NODE_ENV = process.env.NODE_ENV;
const isDev = NODE_ENV === 'development';

const getConfig = require('hjs-webpack');
var config = getConfig({
    isDev: isDev,
    in: join(src, 'app.js'),// entry point file
    out: dest,
    // blow away any previously built files before it starts building new ones
    clearBeforeBuild: true
    });


config.module.loaders.push({
    test: /\.css$/,
    include: [modules],
    loader: 'style!css'
  })


module.exports = config;

при работе с разработчиком служить я получаю следующую ошибку:

TypeError: Cannot read property 'push' of undefined
    at Object.<anonymous> (E:\projects\React\yelpReact\webpack.config.js:90:22)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (E:\projects\React\yelpReact\node_modules\hjs-webpack\bin\hjs-dev-server.js:17:12)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Function.Module.runMain (module.js:605:10)
    at startup (bootstrap_node.js:158:16)
Failed to load webpack config, please use like this
hjs-dev-server.js webpack.config.js

Оказывается, config.module.loaders возвращает значение null , что именно я здесь делаю неправильно, я никогда не использовал "hjs-webpack", благодарю за любую помощь

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Cannot read property 'push' of undefined предполагает, что config.module.loaders не определено.

Это конфиг вебпака, а в конфигах вебпака загрузчики находятся в module.rules и module.loaders не распознается я думаю (и поэтому, вероятно, не возвращается getConfig).

Я предлагаю вам попробовать заменить modules на rules примерно так:

    config.module.rules.push({
        test: /\.css$/,
        include: [modules],
        loader: 'style!css'
    });

Ресурс по настройке веб-пакета

0 голосов
/ 04 июля 2019

WP-загрузчики находятся в подмассиве rules.

Также - быстрая проверка экспорта в hjs-webpack показывает, что действительно нет свойства loaders для объекта module.

Таким образом - вы должны обновить свой код следующим образом:

config.module.loaders.push({
test: /\.css$/,
include: [modules],
loader: 'style!css'})

HJS-WebPack / BLOB / Master / index.js # L158

Спецификации WP Config

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