Вылетает ошибка в webpack
при попытке срендерить этот код:
import React from 'react';
import ReactDOM from 'react-dom';
class Hello extends React.Component {
render() {
return (<h1>Hello</h1>)
}
}
ReactDOM.render(<Hello/>, document.getElementById('hello'));
Лог в консоли:
ERROR in ./web_client/app.js
Module parse failed: D:\doSociety\Product\Site\web_client\app.js Unexpected token (8:12)
You may need an appropriate loader to handle this file type.
| class Hello extends React.Component {
| render() {
| return (<h1>Hello</h1>)
| }
| }
Содержимое webpack.config.js
:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: './web_client/app.js',
output: {
path: './society/static/js/',
filename: 'app.js'
},
resolve: {
extensions: ['', '.js', '.jsx', '.scss'],
modulesDirectories: [
'node_modules'
]
},
module: {
rules: [
{
test: /\.jsx?$/,
use: [
{loaders: 'babel-loader'}
],
include: [
"web_client"
],
exclude: /node_modules/,
query: {
plugins: ['transform-runtime'],
presets: ['es2015', 'stage-0', 'react']
}
},
{
test: /\.s[a|c]ss$/,
use: [
'style-loader',
'css-loader',
'sass-loader'
]
}
]
},
sassLoader: {
includePaths: [
"./web_client",
"./node_modules/bootstrap/scss"
]
}
}
Webpack
версии 2.2.0
Поправил конфиг на:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: './web_client/app.js',
output: {
path: './society/static/js/',
filename: 'app.js'
},
resolve: {
extensions: ['', '.js', '.jsx', '.scss'],
modulesDirectories: [
'node_modules'
]
},
module: {
loaders: [{
test: /\.js$/,
loaders: ['babel'],
}]
}
}
Начало выдавать:
Module build failed: SyntaxError: D:/doSociety/Product/Site/web_client/app.js: Unexpected token (8:12)
6 | class Hello extends React.Component {
7 | render() {
> 8 | return (<h1>Hello</h1>)
| ^
9 | }
10 | }
11 |
Надо в конфиге babel
включить пресет react
:
Файл .babelrc
содержимое
{
"presets": ["react"]
}
https://babeljs.io/docs/plugins/preset-react/
На самом деле, может понадобиться подключить ещё несколько пресетов, если поддержка браузерами ES6 не соответствует желаемой.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Собственно нужно брать высоту одного блока и при загрузке документа присваивать его другомуКак это можно реализовать ?
У меня в проекте, есть несколько сайтов с кардинально разными webpack конфигамиЯ хочу запускать сборку через npm start -имяСайта (т
Есть эксель таблица, там есть много квартир и там данные по деньгам, как реализовать оплату исходя из данных в таблице? Как это примерно возможно...