博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 Dawn 构建 React 项目
阅读量:6655 次
发布时间:2019-06-25

本文共 1882 字,大约阅读时间需要 6 分钟。

开发一个 React 项目,通常避免不了要去配置 Webpackbabel 之类,以支持 commonjses 模块及各种 es 新语法,及及进行 jsx 语法的转义。当然也可以用 create-react-appp 脚手架快速创建一个 react 项目,但与此同时 create-react-app 常常又显的不太自由。

在配置 webpack 时,看着上百行的 webpack.config.js 是不是很闹心?为了重用是不是在多个项目间各种 ctrl-c -> ctrl-v,整个配置起来还是稍显麻烦,对于新手用户常常更是一头雾水,事实上,最大化重用和简化构建配置也是 的目标之一。

本文是一篇 Dawn 使用入门文章,介绍如何从「零」开始「手动配置」一个基于 的 react 工程。

一、环境准备(可略过)

# 1. 安装 NVMcurl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash# 2. 安装 Nodenvm install 8.6.0nvm alias default 8.6.0# 3. 安装 Dawnnpm i dawn -g

二、创建项目 & 编写代码

创建一个普通的 Node 项目

# 1. 创建项目目录mkdir react-democd react-demo# 2. 初始化 packagenpm init

安装 react & react-dom

npm i react react-dom --save-dev

用你的编辑器,打开项目根目录,比如 vscode

vscode .

在项目根目录创建 src 目录,并在 src 目录中创建 index.js,并输入如下代码

import React from 'react';import ReactDOM from 'react-dom';function App() {  return 
Hello Dawn!
;}ReactDOM.render(
, document.getElementById('root'));

src/assets 目录,并在 src/assets 目录中创建 index.html,并输入如下代码

  
Hello Dawn!

三、添加构建配置

在项目根目录创建 .dawn 目录,并在 .dawn 目录中输入如下配置

build:  - name: clean  - name: webpack

好了,现在构建一下我们的代码吧,执行如下命令

dn build

命令执行完毕,会看到项目根目录多了一个 build 这便是构建结果,简单到想哭吧。

如上配置,在 build 的 中添加了 和 两个中间件,在每次执行 dn build 时,pipeline 中的 clean 会清理 build 目录,然后 webpack 会接着进行构建,并把构构建结果放入 build 目录。

等一下,想要监听文件的「实时构建」?想要一个用于开发的 「Dev Server」?想要浏览器「自动同步」?

看下边,配置一下 devpipeline,在刚刚的 pipe.yml 中加入 dev 配置

build:  - name: clean  - name: webpackdev:  - name: clean  - name: webpack    watch: true  - name: server  - name: browser-sync

devpipeline 中,我们把 webpackwatch 选项打开了,打开后便能监听文件的变化并进行「实时构建」了,接下来的任务交给 中间件,它会在构建启动后启动一个静态的 Web Server,默认情况下会自动选择一个「可用端口」,不出意外「浏览器」已经「自动打开」了。

编辑一代码试试,browser-sync 中间件会通知浏览器实时自动刷新页面,在适配不同设备开发时 browser-sync 还会在多个的设备的浏览器中同步。

好了,一个基本的基于 dawn 的 react 工程配置好了。文中提到的 webpackcleanserverbrowser-sync,可以关注一下相关文档。


附上一些链接:

  • 相关文档()
  • Dawn 主页()
  • Git Reop()

转载地址:http://ofato.baihongyu.com/

你可能感兴趣的文章
成为JavaGC专家(2)—如何监控Java垃圾回收机制
查看>>
360软件的×××查杀、漏洞修复等组件不能使用,提示runtime error
查看>>
我的友情链接
查看>>
(转载)Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式
查看>>
oracle锁表解锁
查看>>
土狗的小抄本 -- JVM工具集命令
查看>>
Redhat 使用Yum安装更新rpm包
查看>>
nginx教程全集汇总
查看>>
安装PBX环境
查看>>
Outlook签名设置不完全指北
查看>>
记录mysql insert into on duplicate key update的使用
查看>>
Windows7 文件共享及打印机共享 取消账户密码的办法
查看>>
Linux系统基础-管理之如何在终端上获取Linux命令帮助.
查看>>
play2.0文档-面向java开发者(3)
查看>>
我的友情链接
查看>>
搭建本地yum库
查看>>
make[4]: Entering directory `/home/li/tools/mysql-5.1.72/mysql-test'
查看>>
你,需要时(zi)间(wo)管理
查看>>
[玩系列教程]x版本更改用戶名方法
查看>>
记录一次服务器被***
查看>>