2016-07-05 2 views
2

С конфигурацией, определенной ниже, ошибка была брошена на консоль, когда webpack был запущен:TypeError: element.loader.split не является функцией

TypeError: element.loader.split is not a function

webpack.config.js

module.exports = { 
    devtool: 'eval', 
    entry: { 
    chiffr: getEntrySources([ 
     './src/index', 
    ]), 
    }, 
    output: { 
    path: path.join(__dirname, 'dist'), 
    filename: 'bundle.js', 
    publicPath: '/static/', 
    }, 
    module: { 
    loaders: [{ 
     test: /\.js$/, 
     loader: ['react-hot', 'jsx'], 
     include: path.join(__dirname, 'src'), 
     exclude: /node_modules/, 
    }], 
    }, 
}; 

Установленные модули: Узел

"dependencies": { 
    "react": "15.2.0", 
    "react-dom": "15.2.0" 
}, 
"devDependencies": { 
    "babel-eslint": "6.1.0", 
    "eslint": "2.13.1", 
    "eslint-config-airbnb": "9.0.1", 
    "eslint-plugin-jsx-a11y": "1.5.3", 
    "eslint-plugin-react": "5.2.2", 
    "jsx-loader": "0.13.2", 
    "node-sass": "3.8.0", 
    "react-hot-loader": "1.3.0", 
    "webpack": "1.13.1", 
    "webpack-dev-server": "1.14.1" 
} 

Что s источник ошибки и как ее можно исправить?

ответ

3

Ошибка возникает из-за того, что атрибут loader для первого загрузчика ожидает, что строка не является массивом; Массив не имеет метода split.

Каждый объект в атрибуте module.loaders конфигурации ожидает, что строка будет установлена ​​в свойство loader. Из documentation:

module.loaders
An array of automatically applied loaders.

Each item can have these properties:

test: A condition that must be met
exclude: A condition that must not be met
include: A condition that must be met
loader: A string of “!” separated loaders
loaders: An array of loaders as string

Поскольку конфигурация требует массива погрузчиков, ключ должен быть установлен в loaders вместо:

module: { 
    loaders: [{ 
    test: /\.js$/, 
    // Change the key to 'loaders' for an Array of loaders 
    loaders: ['react-hot', 'jsx'], 
    include: path.join(__dirname, 'src'), 
    exclude: /node_modules/, 
    }], 
}, 
Смежные вопросы