Dva: dora ์—†์ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

์— ๋งŒ๋“  2016๋…„ 08์›” 30์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dvajs/dva

์ œ๋ชฉ ๊ทธ๋Œ€๋กœ.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

create-react-app ์„ ์‚ฌ์šฉํ•˜์—ฌ dva ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

create-react-app์„ ์„ค์น˜ํ•˜๊ณ  ์•ฑ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

$ npm install create-react-app -g
$ create-react-app myapp

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

$ cd myapp

dva๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

$ npm install dva --save

src/index.js ํŽธ์ง‘:

import React from 'react';
import dva from 'dva';
import App from './App';
import './index.css';

const app = dva();
app.router(() => <App />);
app.start('#root');

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

$ npm start

์ด ์‹œ์ ์—์„œ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์ด ์™„๋ฃŒ๋˜๊ณ  ๋ชจ๋ธ, ๋ผ์šฐํ„ฐ ๋“ฑ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

์ž์‹ ์˜ ์ž˜๋ชป

browser.js?add8:40    Uncaught Invariant Violation: app.model: namespace should be defined
// .babelrc
{
  "presets": ["react", "es2015","stage-1"],
  "plugins": [
    ["transform-runtime", {
      "polyfill": false,
      "regenerator": true
    }]
  ]
}
var webpack = require('webpack');
module.exports = {
  entry:  __dirname + "/src/index.js",
  output: {
    path: __dirname + "/dist",
    filename: "index.js"
  },
  devtool: 'eval-source-map',
  devServer: {
    contentBase: "./src",
    colors: true,
    historyApiFallback: true,
    inline: true,
    // hot: true
  },
  resolve: {
    extensions: ['', '.js', '.jsx']
  },
  module: {
    loaders: [
      {
        test: /\.json$/,
        loader: "json"
      },
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        loader: 'babel',
      },
      {
        test: /\.(css|less)$/,
        loader: 'style!css?modules'
      }
    ]
  }
}

็”จcreate-react-app ?

create-react-app ์„ ์‚ฌ์šฉํ•˜์—ฌ dva ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

create-react-app์„ ์„ค์น˜ํ•˜๊ณ  ์•ฑ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

$ npm install create-react-app -g
$ create-react-app myapp

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

$ cd myapp

dva๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

$ npm install dva --save

src/index.js ํŽธ์ง‘:

import React from 'react';
import dva from 'dva';
import App from './App';
import './index.css';

const app = dva();
app.router(() => <App />);
app.start('#root');

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

$ npm start

์ด ์‹œ์ ์—์„œ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์ด ์™„๋ฃŒ๋˜๊ณ  ๋ชจ๋ธ, ๋ผ์šฐํ„ฐ ๋“ฑ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰