参考git上react项目react-cnode

项目使用create-react-app搭建,搭建过程比较简单,在全局create-react-app环境下,执行以下指令

create-react-app demo
npm i //安装项目依赖
npm run-script start //看到默认demo首页

//此时项目目录主要是
public
src
package.json
readme.md

npm run eject //暴露配置文件config/script,就能在webpackage中配置相关的loader等等。

exampleless(sass)

安装less-loaderless

npm install less-loader less --save-dev
(npm install sass-loader node-sass --save-dev)

修改webpack配置

webpack.config.dev.jswebpack.config-prod.js

改动1

/\.css$/改为/\.(css|less)$/
exclude: [
  /\.html$/,
  /\.(js|jsx)$/,
  /\.(css|less)$/,
  /\.json$/,
  /\.bmp$/,
  /\.gif$/,
  /\.jpe?g$/,
  /\.png$/,
],

改动2

test: /\.(css|less)$/, /////////////////////////////////
  use: [
    require.resolve('style-loader'),
    {
      loader: require.resolve('css-loader'),
      options: {
        importLoaders: 1,
      },
    },
    {
      loader: require.resolve('postcss-loader'),
      options: {
        // Necessary for external CSS imports to work
        // https://github.com/facebookincubator/create-react-app/issues/2677
        ident: 'postcss',
        plugins: () => [
          require('postcss-flexbugs-fixes'),
          autoprefixer({
            browsers: [
              '>1%',
              'last 4 versions',
              'Firefox ESR',
              'not ie < 9', // React doesn't support IE8 anyway
            ],
            flexbox: 'no-2009',
          }),
        ],
      },
    },
    {
      loader: require.resolve('less-loader') // compiles Less to CSS
    }
  ],
},

react语法是jsx,项目路口文件一般是在src/indenx.js或者app.js。 src目录一般分为如下及部分:

api:url配置 assets:静态资源图片和全局css等 components:组建header、footer、sidebar、topics-list router:管理路由 store:管理状态 utils:方法管理 views:视图

需要重点学习的就是router和store了。