1、安装yeoman  

npm install yo -g

yo --version    //检测 yeoman版本,成功显示版本号,则安装成功 

2、到yeoman官网 http://yeoman.io/generators/ 搜索寻找项目生成器(基于react和webpack构建的项目)

选择 [ react-webpack ] 项目,打开链接如下:

https://github.com/react-webpack-generators/generator-react-webpack#readme

安装generator:npm install -g generator-react-webpack

通过查看电脑最顶部环境安装了哪些全局包来查看generator-react-webpack是否安装成功:npm list --depth=0 -g

3、在自已的github上建一个项目(gallery-by-react)

项目新建时选择 MIT License,然后创建

4、安装好Git,(自行百度谷歌下载安装)

5、用git把github上刚建的项目clone下来

找到自己管理项目的文件夹,然后执行以下clone命令:

git clone https://github.com/zoujian3820/gallery-by-react.git

进入项目文件夹中:cd gallery-by-react

用generator-react-webpack来生成我们的项目:yo react-webpack gallery-by-react

选用SASS预处理语言,选用默认 .js 文件,然后等待项目安装- - - -

安装成功后,直接:npm run start 把项目跑起来

 6、安装react谷歌调试工具

推荐QQ浏览器,在应用商店中直接搜索React Developer Tools  然后添加工具插件

7、安装stylus

由于安装sass-loader和node-sass一直安装不成功(欲哭无泪),so 选择了更方便的stylus

在package.json中添加以下依赖 --- npm install

"stylus": "0.54.5",
"stylus-loader": "^2.5.1"

8、安装autoprefixer + postcss-loader

(由于autoprefixer-loader已经被webpack废弃,已经推荐使用autoprefixer + postcss-loader的方式) 最坑爹的地方//(ㄒoㄒ)// 流泪中... 

在package.json中添加以下依赖--- npm install

"autoprefixer": "^7.1.6",
"postcss-loader": "^2.0.8"

9、修改webpack配置

本包由于用react-webpack建的(官方好久都没更新了),用的是webpack1.15.0的版本(有点小郁闷,导致跟现在webpack脱轨,很多配置不一样)

http://yeoman.io/generators/ 搜索react-webpack,就下面链接这货:https://github.com/react-webpack-generators/generator-react-webpack#readme

如上图,这是项目的总体结构

一、defaults.js是我们要修改webpack配置的文件:

在其中找到函数getDefaultModules,然后loader中添加 !postcss-loader 如下,是已经添加好了的

function getDefaultModules() {
return {
preLoaders: [
{
test: /\.(js|jsx)$/,
include: srcPath,
loader: 'eslint-loader'
}
],
loaders: [
{
test: /\.css$/,
loader: 'style-loader!css-loader!postcss-loader'
},
{
test: /\.styl/,
loader: 'style-loader!css-loader!postcss-loader!stylus-loader'
},
{
test: /\.(png|jpg|gif|woff|woff2)$/,
loader: 'url-loader?limit=8192'
},
{
test: /\.(mp4|ogg|svg)$/,
loader: 'file-loader'
}
]
};
}

二、引入autoprefixer

在根目录下新建一个名称为postcss.config.js的js文件,如上图所示

然后在其中添加如下这段代码:

module.exports = {
plugins: [
require('autoprefixer')
]
}

三、使用stylus并检测autoprefixer是否生效

1、找到 src/components/Main.js 点击打开,然后把 require('styles/App.css'); 这句代码修改成 require('styles/App.styl');

2、再找到  src/styles/App.css并把文件扩展名改成  .styl 点击打开,在其中加入

body
display :flex
box-sizing:border-box
background : red

这段代码,然后 npm run start 跑一下,打开控制台,查看元素body,看是否为其自动加上了各浏览器兼容的 hack 缀名

到此ok,项目搭建算告一段落...... 附上源码包,猛击下载

10、手动加入模似的静态json数据

1、新建一个data文件夹,再建一个imageDatas.json文件,把图片的json数据加入进去

2、安装json-loader

npm install json-loader --save-dev   或者   cnpm install json-loader --save-dev

   修改webpack配置文件defaults.js

      在其中找到函数getDefaultModules,然后loaders中添加一段匹配的正则

{
test: /\.json$/,
loader: 'json-loader'
}

  

gitub完整项目源码地址:

https://github.com/zoujian3820/gallery-by-react

在线demo:

https://zoujian3820.github.io/gallery-by-react/

用yeoman搭建react画廊项目笔记的更多相关文章

  1. 从零搭建react hooks项目(github有源代码)

    前言 首先这是一个react17的项目,包含项目中常用的路由.状态管理.less及全局变量配置.UI等等一系列的功能,开箱即用,是为了以后启动项目方便,特地做的基础框架,在这里分享出来. 这里写一下背 ...

  2. 使用webpack2.0 搭建react.js项目

    最近一段时间没有写react.js,发现webpack已经完全升级为2.0了,升级后导致以前的项目不能正常编译,只能重新实践一番 关于webpack2.0和1.x的区别概括起来就是tree shaki ...

  3. Github+yeoman+gulp-angular初始化搭建angularjs前端项目框架

    在上篇文章里面我们说到了Github账号的申请与配置 那么当你有了Github账号并创建了一个自己的Github项目之后,首要的当然是搭建自己的项目框架啦! 本人对自己的定位是web前端狗,常用开发框 ...

  4. 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)

    开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...

  5. [Web 前端] webstorm 快速搭建react项目

    cp from : https://blog.csdn.net/qq_39207948/article/details/79467144 前端新手如何安装webstorm ,初步搭建react项目 下 ...

  6. 使用 webpack 搭建 React 项目

    简评:相信很多开发者在入门 react 的时候都是使用 create-react-app 或 react-slingshot 这些脚手架来快速创建应用,当有特殊需求,需要修改 eject 出来的 we ...

  7. 使用webpack搭建react项目 webpack-react-project

    webpack-react-project 使用webpack搭建react项目 webpack搭建react项目 github源码 具体配置信息参照package.json和webpack.conf ...

  8. 快速搭建一个基于react的项目

    最近在学习react,快速搭建一个基于react的项目 1.创建一个放项目文件夹,用编辑器打开 2.打开集成终端输入命令: npm install -g create-react-app 3. cre ...

  9. 项目搭建到Linux--实用笔记

    项目搭建到Linux--实用笔记 1.启动redis 目录  /usr/local/redis/bin    (我自己的目录)             启动 ./redis-server redis. ...

随机推荐

  1. window.open()被部分浏览器拦截问题

    下面代码一切从简,大家理解即可 一.原因:1.因为在chrome的安全机制里面,非用户触发的window.open方法,是会被拦截的: 二.什么情况下不会被拦截或会被拦截? 1. $('#btn'). ...

  2. linux shell 执行远程命令

    我在本地的shell脚本中,想要直接执行远程服务器的一个shell脚本: ssh -l root 192.168.1.1 "/data/t.sh" 记得提前给远程服务器的 /dat ...

  3. [bzoj4552][Tjoi2016&Heoi2016]排序-二分+线段树

    Brief Description DZY有一个数列a[1..n],它是1∼n这n个正整数的一个排列. 现在他想支持两种操作: 0, l, r: 将a[l..r]原地升序排序. 1, l, r: 将a ...

  4. ng组件通讯的几种方式

    通过输入型绑定把数据从父组件传到子组件. 如<app-hero-child *ngFor="let hero of heroes"  [hero]="hero&qu ...

  5. 关于Devexpress15.2中GridControl控件选择字段ColumnEdit下拉时间设置

    效果:点击表格GridControl控件中的列,可以显示日期和时间.时间可以手动修改.(绑定日期格式的字段) 设置步骤:1.点击时间字段列表设置ColumnEdit-New-选择DateEdit出现r ...

  6. iOS 点击屏幕空白区隐藏键盘方法

    iOS开发中,经常要用到输入框,可默认情况下,输入框出来之后,除非点击键盘上面的“Done”或“Next”按钮才能将其隐藏.站在用户体验的角度上看,这种情况很不友好,尤其是不能突显苹果操作的便捷性. ...

  7. windows转mac-开发环境搭建(二):mac上java环境搭建

    1.首先下载jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.安 ...

  8. 《android开发进阶从小工到专家》读书笔记--HTTP网络请求

    No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服 ...

  9. Lua Table转C# Dictionary

    因为在游戏公司做web后台开发,经常会涉及到取游戏服务器的数据库里面读写各种操作. 昨天下午,服务器那边让我读一个配置显示到后台,让运营大佬们可以在web后台配置游戏参数. 本来以为很简单个事情,结果 ...

  10. Linux内核开发之将驱动程序添加到内核

    驱动程序添加到内核 一.概述: 在Linux内核中增加程序需要完成以下三项工作: 1.将编写的源代码复制到Linux内核源代码的相应目录 2.在目录的Kconfig文件中增加新源代码对应项目的编译配置 ...