2017-05-08 14 views
-1

私はReact、NodeJs、およびExpressJsから始めています。私は多くのチュートリアルを見てきましたが、プロジェクトを開始する正しい方法がわからないのですか?NodeJsを起動する正しい方法、React with Expressプロジェクト

私は2つの方法を見ました。最初はexpress <project_name>であり、2番目はnpm initです。

正しい方法がない場合は、最終的にnpm initに明示的に含まれている場合は、どうやって別の方法で初期化するのでしょうか(チュートリアルで)。あなたはそれがあなたのプロジェクトの依存関係を保存することができ、あなたのプロジェクトディレクトリにpackage.jsonファイルを作成します知っているよう

おかげ

+0

どちらも正しいです。あなたは、あなたが望む結果に基づいて、あなたが望むものを選択します。 –

+0

最初からやりたいか、 'create-react-app'型のメソッドを使いたいですか? –

答えて

1

npm initは、開始するには良い方法です。 webpack.config.jsファイルを作成します

npm install --save-dev webpack babel babel-loader babel-core babel-preset-env babel-preset-react 

最初のコマンド:この

npm install --save-dev webpack 
npm install --save-dev babel 
npm install --save-dev babel-loader 
npm install babel-core 
npm install babel-preset-env 
npm install babel-preset-react 

または単一行コマンド使用など:あなたは、以下のコマンドを実行する必要があります。この後

。 2番目のコマンドは、プロジェクトで使用するバベルを準備し、3番目のコマンドはバベルローダーを使用します。これは非常に基本的なプロジェクト構造である

projectFolder/ 
├── package.json 
├── public 
│   ├── favicon.ico 
│   └── index.html 
├── README.md 
└── src 
    ├── App.css 
    ├── App.js 
    ├── App.test.js 
    ├── index.css 
    ├── index.js 
    └── logo.png 

今では次のようになり、プロジェクトの構造を作成するための時間です。サーバー側の構造はありません。ヨーマン使用して作成された

react/ 
├── CHANGELOG.md 
├── CONTRIBUTING.md 
├── docs 
│   ├── data-fetching.md 
│   ├── getting-started.md 
│   ├── how-to-configure-text-editors.md 
│   ├── react-style-guide.md 
│   ├── README.md 
│   └── recipes/ 
├── LICENSE.txt 
├── node_modules/ 
├── package.json 
├── README.md 
├── src 
│   ├── actions 
│   ├── client.js 
│   ├── components 
│   │   ├── App 
│   │   │   ├── App.js 
│   │   │   ├── App.scss 
│   │   │   ├── package.json 
│   │   │   └── __tests__ 
│   │   │    └── App-test.js 
│   │   ├── ContentPage 
│   │   │   ├── ContentPage.js 
│   │   │   ├── ContentPage.scss 
│   │   │   └── package.json 
│   │   ├── ErrorPage 
│   │   │   ├── ErrorPage.js 
│   │   │   ├── ErrorPage.scss 
│   │   │   └── package.json 
│   │   ├── Feedback 
│   │   │   ├── Feedback.js 
│   │   │   ├── Feedback.scss 
│   │   │   └── package.json 
│   │   ├── Footer 
│   │   │   ├── Footer.js 
│   │   │   ├── Footer.scss 
│   │   │   └── package.json 
│   │   ├── Header 
│   │   │   ├── Header.js 
│   │   │   ├── Header.scss 
│   │   │   ├── [email protected] 
│   │   │   ├── logo-small.png 
│   │   │   └── package.json 
│   │   ├── Link 
│   │   │   ├── Link.js 
│   │   │   └── package.json 
│   │   ├── Navigation 
│   │   │   ├── Navigation.js 
│   │   │   ├── Navigation.scss 
│   │   │   └── package.json 
│   │   ├── NotFoundPage 
│   │   │   ├── NotFoundPage.js 
│   │   │   ├── NotFoundPage.scss 
│   │   │   └── package.json 
│   │   ├── TextBox 
│   │   │   ├── package.json 
│   │   │   ├── TextBox.js 
│   │   │   └── TextBox.scss 
│   │   ├── variables.scss 
│   │   └── withViewport.js 
│   ├── config.js 
│   ├── constants 
│   │   └── ActionTypes.js 
│   ├── content 
│   │   ├── about.jade 
│   │   ├── index.jade 
│   │   └── privacy.jade 
│   ├── core 
│   │   ├── db.js 
│   │   ├── DOMUtils.js 
│   │   ├── fetch 
│   │   │   ├── fetch.client.js 
│   │   │   ├── fetch.server.js 
│   │   │   └── package.json 
│   │   ├── Location.js 
│   │   └── passport.js 
│   ├── data 
│   │   ├── queries 
│   │   │   ├── content.js 
│   │   │   ├── me.js 
│   │   │   └── news.js 
│   │   ├── schema.js 
│   │   └── types 
│   │    ├── ContentType.js 
│   │    ├── NewsItemType.js 
│   │    └── UserType.js 
│   ├── public 
│   │   ├── apple-touch-icon.png 
│   │   ├── browserconfig.xml 
│   │   ├── crossdomain.xml 
│   │   ├── favicon.ico 
│   │   ├── humans.txt 
│   │   ├── robots.txt 
│   │   ├── tile.png 
│   │   └── tile-wide.png 
│   ├── routes 
│   │   ├── contact 
│   │   │   ├── Contact.js 
│   │   │   ├── Contact.scss 
│   │   │   └── index.js 
│   │   ├── home 
│   │   │   ├── Home.js 
│   │   │   ├── Home.scss 
│   │   │   └── index.js 
│   │   ├── login 
│   │   │   ├── index.js 
│   │   │   ├── Login.js 
│   │   │   └── Login.scss 
│   │   └── register 
│   │    ├── index.js 
│   │    ├── Register.js 
│   │    └── Register.scss 
│   ├── routes.js 
│   ├── server.js 
│   ├── stores 
│   └── views 
│    ├── error.jade 
│    └── index.jade 
├── test 
│   └── stubs 
│    └── SCSSStub.js 
└── tools 
    ├── build.js 
    ├── bundle.js 
    ├── clean.js 
    ├── copy.js 
    ├── deploy.js 
    ├── lib 
    │   ├── fetch.js 
    │   └── fs.js 
    ├── README.md 
    ├── run.js 
    ├── runServer.js 
    ├── start.js 
    └── webpack.config.js 

またあなたは、単にyeoman react generatorを使用して、すべてこのようなものを行うことができます ジェネレータは-fullstackを反応させるのが、発電機に注意してください、彼らは時々あなたの展開プロセスを強靭:

フル構造は次のようになります。

関連する問題