"Неожиданный токен" будет пытаться среагировать
Я пытаюсь настроить код, представленный на странице реагирующего средства выбора даты.
Мой набор инструментов для сборки состоит из npm и browserify.
У меня есть следующий package.json
{
"name": "datepicker",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "browserify -o public/bundle.js -v -d main.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"babelify": "^7.0.0",
"browserify": "^12.0.1",
"browserify-css": "^0.14.0",
"react": "16.5",
"react-datepicker": "^2.0.0",
"react-dom": "^16.5",
"reactify": "^1.1.1"
},
"browserify-css": {
"autoInject": true,
"minify": true,
"rootDir": ".",
"output": "backend/public/bundle.css"
},
"browserify": {
"transform": [
"babelify",
"browserify-css"
]
},
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2"
}
}
Мой main.js составлен следующим образом:
import React from "react";
import ReactDOM from "react-dom"
import DatePicker from "react-datepicker";
// CSS Modules, react-datepicker-cssmodules.css
import 'react-datepicker/dist/react-datepicker-cssmodules.css';
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
startDate: new Date()
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(date) {
this.setState({
startDate: date
});
}
render() {
return (
<DatePicker
selected={this.state.startDate}
onChange={this.handleChange}
/>
);
}
}
ReactDOM.render(<Example />, document.getElementById('app'))
Тогда я бегу
npm run start
И у меня есть это сообщение
Ошибка синтаксиса: /home/mylogin/test_react_go/datepicker/main.js: неожиданный токен (26:6)
Я потратил некоторое время, чтобы понять проблему, и не нашел никакого решения. Я был бы рад, если бы кто-то более привыкший к современным инструментам JS мог бы помочь мне.
2 ответа
Здесь мы рассмотрим мое решение (эта работа), если разработчик, который работает на бэкэнд-языке, перейдет к этому вопросу Stackru:) Ниже вы можете найти package.json, который может генерировать проект реагирования в двух файлах bundle.js & bundle.css из исходного кода ES6.
{
"name": "datepicker",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "browserify -o 'public/bundle.js' -v -d main.js -p [ parcelify -o public/bundle.css ] "
},
"author": "",
"license": "ISC",
"dependencies": {
"react": "16.5",
"react-datepicker": "^2.0.0",
"react-dom": "^16.5"
},
"browserify": {
"transform": [
[
"babelify",
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}
]
]
},
"style": [
"./node_modules/react-datepicker/dist/react-datepicker-cssmodules.css"
],
"devDependencies": {
"parcelify": "^2.2.0",
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.2.3",
"@babel/preset-react": "^7.0.0",
"babel-core": "^7.0.0-bridge.0",
"babelify": "^10.0.0",
"babel-plugin-react-css-modules": "^5.0.0",
"browserify": "^12.0.1"
}
}
Я открыт для комментариев или улучшений.
Вы добавили Retify в качестве зависимости, но не поместили его в список преобразования browserify.
Посмотрите на эту настройку, чтобы вы могли сравнить и сделать лучше.