1. Webpack前端项目打包配置
1、安装依赖包
初始化项目为nodejs项目
另一种是在html中通过img标签的src引入,因为webpack对html支持不友好,所以需要借助插件html-webpack-plugin
第三种是借用拷贝插件,直接强行拷贝所有图片,因为本项目图片是在xslt中引用,所以裤磨采用第三种和第一种结合的方式处理图片,在plugin参数中拆纯肆添加
如果css是与其余的css一起打包,那么其中对fonts资源的引用路径也会自动发生变化,一定注意,是个大坑旅轿!!
2. webpack 创建一个VUE项目
一、创建并初始化VUE项目
1.安装完VUE和nodejs后在指定文件夹根目录生成项目文件夹
在命令行衡毕内进入当前文仿粗件夹
输入
其他选项默认
生成的文件备拦镇夹
3.安装完毕运行
yarn start
未安装yarn的可直接运行
npm run dev
3.删除初始化多余项目
3.1删除components文件夹下的helloworld文件
3.2在app.vue中删除以下内容(如果报错请检查是否存在空格未删除)
4.让项目先跑起来
npm run dev
*注在开发测试环境使用-D/--seve-dev;生产环境使用-S/--seve
3. 如何系统地学习Node.js
1.《nodejs入门》,才38页,很好,书中项目做一下,学会基础
2.《nodejs开发指南》。180多页,很好,书中项目做一下,知道基础,及基本的配合express,jquery,bootstrap,数据库MongoDB
另附一些node实现书中例子的一些变化使用Express3.0实现<Node.js开发指南
3.开始看express创建初始项目的源代码对比2中的书,发现express更新后新的特性:Migrating from 3.x to 4.x · strongloop/express Wiki · GitHub
看express官网api
英文:Express 4.x - API Reference
中文:Express - api参考
4.之后发现,一个系列课程,从零开始nodejs系列文章:从零开始nodejs系列文章
其中 文章: Node.js开发框架Express4.x:Node.js开发框架Express4.x ,详细介绍了express4项目的基本内容,很好
文章:用Nodejs连接MySQL:用Nodejs连接MySQL,介绍mysql与node基本,及数据库连接池,宕机,连接超时等node问题解决办法,node-mysql官网也有相应英文解决办法
5.node+json:node.js里面怎么创建和解析JSON格式的文件?
更全的是这一个How to parse JSON using Node.js? 但要注意如果require json,只加载一次,更新之后,再使用,可能还是老版本
json不好查看的问题:读写 JSON 文件 · Issue #73 · zhanhongtao/blog · GitHub
6.node邮件验证:Nodejs发邮件组件Nodemailer
选择适合的Node.js授权认证策略
7.很全的node mole Moles · joyent/node Wiki · GitHub
8.文件操作,要么官方文档:File System Node.js v0.12.2 Manual & Documentation,
或者node基础-文件系统node.js 文件操作,有一个要注意的是 存储文件时,比如writefile写路径 要使用path.join(__dirname, “相对于当前文件路径”); 如path.join(__dirname, "../upload/recordList/" + generateID("record") + ".json");,后端要采用这种dirname的形式,前端可以直接写相对于当前文件路径的形式
4. 如何用nodejs搭建web服务器
使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块、文件系统、url解析模块、路径解析模块、以及301重定向技术等,下面我们就一起来学习如何搭建一个简单的Web服务器。
作为一个Web服务器应具备以下几个功能:
1、能显示以.html/.htm结尾的Web页面
2、能直接打开以.js/.css/.json/.text结尾的文件内容
3、显示图片资源
4、自动下载以.apk/.docx/.zip结尾的文件
5、形如http://xxx.com/a/b/ , 则查找b目录下是否有index.html,如果有就显示,如果没有就列出该目录下的所有文件及文件夹,并可以进一步访问。
6、形如http://xxx.com/a/b, 则作301重定向到http://xxx.com/a/b/ , 这样可以解决内部资源引用错位的问题。
引入需要用到的几个模块:
创建服务并在指定的端口监听:
在创建服务的时候需要传递一个匿名函数processRequest 对请求进行处理,processRequest接收2个参数,分别是request和response, request对象中包含了请求的所有内容,response是用来设置响应头以及对客户端做出响应操作。
请求处理函数中有几个重点需要说一下:
对于路径中有中文的,浏览器会自动进行编码(英文不变,中文会变),因此在接收到地址后,需要对地址进行解码,否则最后得到的路径和真实路径不相符,
当访问路径不是以具体的文件结尾,并且不是以/结尾,则需要通过重定向加上/,表示当前目录,否则当前路径下的静态资源会找不到
如果访问路径是目录,则列出该目录下所有文件及文件夹,并可以点击访问,为了让中文目录能正常显示,则还要在header中设置charset=utf-8
核心代码就这么多,大概140行左右,完整的代码已上传到github:https://github.com/git-onepixel/Node,
如果要运行demo,打开cmd切换到根目录,运行node start 即可。
5. 如何在 NodeJs 上搭建 React 开发环境
1. 安装 nodejs :根据你的 Windows 类型(x86或x64)下载相应的安装包,安装完成后,在任一目录下打开 cmd 窗口并运行 node -v 命令,则会输出 node 的版本信息。
--注:在 windows 操作系统中,如果把 nodejs 安装在系统盘(如:C盘),初始化时会提示 nodejs 没有操作文件的权限(无法新建 package.json 文件)。
(建议在非系统盘中安装 nodejs ,本例安装路径:D:\Program Files)
2. 初始化猜信 npm:安装 nodejs 时会默认安装 npm,在 cmd 窗口中运行 npm -v 命令会输出 npm 的版本信息。
接着运行 npm init 命令,并设置相关参数即完成 npm 初始化。这时 nodejs 会在当前目录下(这里是:D:\Program Files\nodejs 目录)新建一个 package.json 文件。
3. 利用 npm 安装 react 相关的包:
3.1 运行 npm install react react-dom --save-dev 命令,安装 react 和 react-dom 包。
其中 --save-dev 表示在 package.json 文件的 devDependencies 节点下添加包的引用,--save 表示在 package.json 文件的 dependencies 节点下添加包的引用
3.1 运行 npm install webpack webpack-dev-server --save-dev 命令,安装 webpack 和 webpack-dev-server 包。
webpack 用来打包并压缩 js 文件,webpack-dev-server 用来实时同步修改过的 js,html,css 文件到浏览器。
穗老轮 3.5 运行 npm install jsx-loader --save-dev 命令,安装 jsx-loader 包(用来把按 ES5 规范编写的 .jsx 文件转成 .js 文件)含返。
如果需要支持符合 ES6 规范的脚本文件(.js 或 .jsx),还需安装下面 4 个包:babel-core babel-loader babel-preset-es2015 babel-preset-react。
如果需要用到路由,还需安装:react-router。
http://blog.csdn.net/zmx729618/article/details/60957363
6. 基础篇——webpack基础用法(三)
上一章节主要介绍了 entry 、 output 、 loaders 、 plugins 、 mode 等核心概闷裂念以及简单的使用方法的介绍,接下来主要介绍文件的解析、压缩、热更新原理等。
安装url-loader
npm install url-loader -D
上图是自己写的demo,在search.js中引用图片资源,此示例为未使用url-loader时文件大小 134kb ;
上一节中蚂宴闭讲解了 webpack文件监听 可以实现文件的自动构建,但是每次必须手动刷新浏览器,那么有没有不用祥指每次手动刷新浏览器,自动构建文件呢?答案是肯定的, 热更新 。
注意:WDS因为是放在内存中,而watch是有对系统进行文件的输出,所以在构建速度上WDS也是明显快于watch的
接下来我们实际操作一下:
在package.json中添加一个dev命令,配置好webpack-dev-server;
npm i webpack-dev-server -D
修改webpack.config.js中的 mode 为 development ,因为 proction 是生产环境下使用的,而 development 是开发环境下使用的,所以在使用WDS的情况下,要将mode修改为 development ;
配置 HotMoleReplacementPlugin 插件和 devServer ,因为HotMoleReplacementPlugin是webpack内置插件,所以不用额外安装的。
注:通常适用express、koa等后端服务,需要引用nodejs
注:一般js用Chunhash,css用Contenthash
到这里 webpack基础篇 已经讲完了,下一章节开始 webpack进阶篇
7. 用npm怎么安装webpack
安装nodejs,你清举可以挫下面的地址 下载完成以后就可以一直下一步安装了。我是安装在了核察d盘的根目录改正茄下 安装完成以后可以使用cmd输入命令查看是否安装成功。 再通过查看环境变量,我们可以看到下面的D:\nodejs\ 说明确实安装成功了
8. 如何使用webpack打包ES6的Nodejs后台程序
因为webpack可以直接打包es6语法在浏览器中运行,不然的话es6语法无法在浏览器中运行