从0到上线开发企业级电商项目_前端_02_项目脚手架搭建-npm&webpack

一、npm install

安装依赖包:

npm install xxx@v.v.v

卸载依赖包:

npm uninstall xxx@v.v.v

参数:

-g        //指定全局安装
--registry=https://registry.npm.taobao.org //将源指向淘宝源

 

 

 

 

 

 

参考资料:

1.项目脚手架搭建概要

2.搭建一款前端脚手架工具

3.如何发布npm包

 

第一部分:脚手架搭建概要

npm init //npm初始化

->输入参数

->会生成package.json,所有的npm信息都会在里面。

 

npm基本操作

  • 安装依赖包:npm install xxx@v.v.v
  • 卸载依赖包:npm uninstall xxx@v.v.v
  • 参数:-g
  • 参数:–registry=hrrps://registy.npm.taobao.org //指定npm源

 

Webpack

设计思想:require anything

加载方式:各种loader插件

编译原理:commonjs模块 -> function类型模块

官方文档:http://webpack.github.io/docs/

 

Webpack的安装

  • npm install webpack -g
  • npm install webpack@1.15.0 –save-dev
  • webpack -v

 

三个问题:

1.全局安装为什么不用版本号,安装项目依赖的时候则使用?

npm会优先使用项目本地的npm包,如果找不到的时候才会去全局的npm包里找,全局安装只是为了提供webpack的命令,而真正用到的还是本地的1.15.0的版本。

2.为什么用1.15.0而不用官网上建议的2.x?

2.x版本中用于压缩js的文件有问题,IE8不支持

3.什么是–save-dev?

npm会把包的信息放在package.json里,这样就能记录项目的依赖了,通过这个命令安装后包的名称和版本都会存在package.json文件中。不会打包进业务代码。

 

webpack.config.js 

是webpack的核心内容,webpack对各种文件的处理方式都是在这里面配置的,最终的输出是一个json形式的配置文件。

  • entry:js的入口文件
  • externals:外部依赖的声明
  • output:目标文件
  • resolve:配置别名
  • module:各种文件,各种loader
  • plugins:插件

 

Webpack loader

  • html: html-webpakc-plugin
  • js: babel-loader
  • css: style-loader + css-loader
  • image+font: url-loader

 

Webpack常用命令

  • webpack  打包,常用于调试代码
  • webpack -p 用于线上发布时的打包,会把所有的文件都做最小化压缩
  • webpack –config webpack.config.js 改变默认的配置文件位置

 

webpack-dev-server

  • 作用:前端开发服务器,使用户可以使用localhost的形式来访问项目
  • 特色:可以在文件改变时,自动刷新浏览器。
  • 安装:npm install webpack-dev-server –save-dev
  • 配置:webpack-dev-server/client?http://localhost:8088
  • 使用:webpack-dev-server –port 8088 –inline

 


第二部分:npm和webpakc初始化

cd进入到项目目录

[code]

npm init //填写相关需要的东西再yes

ls; //可以看到这个时候已经生成了package.json

cat package.json  //查看刚才的内容已经进入到package.json中

[/code]

接下来进入webpack官网,点击左方usage,根据官方文档进行安装和配置,这里直接给出代码,直接根据代码一步一步的进行也可完成。注意如果使用的是linux或者mac要加sudo权限。

[code]
npm install webpack -g
[/code]

注意这里有可能会因为一些原因出错,查看出错的文件可以帮助我们解决掉大部分问题。另外,如果使用windows操作不成功则需要安装一个python,如果还是失败的话我们尝试指定版本号:

[code]
npm install webpack@1.15.0 -g
[/code]

接下来在本地也安装一个webpack依赖,防止部署环境与本地依赖包版本不一样造成错误。

[code]

npm install webpack@1.15.0 –save-dev

[/code]

可以执行webpack -v来查看当前的版本

执行ls可以看到我们的项目目录下多了node_modules,进入该目录执行ls看到刚才的webpack就是装在这里,到此我们的webpack安装就完成了,接下来进行配置。

进入项目目录,项目目录的建立参考http://bingxiong.duapp.com/index.php/2017/09/16/qian6/在page下建一个文件夹index,在建立两个文件为cats.js和index.js分别粘上官方给的示例,如下

cats.js如下

[code]

var cats = [‘dave’, ‘henry’, ‘martha’];
module.exports = cats;

[/code]

index.js如下

[code]

cats = require(‘./cats.js’);
console.log(cats);

[/code]

在terminal输入

[code]

webpack ./src/page/index/index.js ./dist/app.js

[/code]

文件夹,看到生成了dist,并且有app.js。这就是一个webpack打包好的模块。由于没有用-p,因此这个文件是没有压缩的。

以上我们用的是命令行模式来配置,这种方式只能配置一个入口文件和一个目标文件,无法配置其他高级功能,因此我们将用使用webpack.config.js来配置参数再进行打包。我们将根据官方文档完成基本配置。

在根目录下新建webpack.config.js文件并写入,这里要注意的是不能直接从官方文档复制,要进行目录更改。

[code]
module.exports = {
entry: ‘./src/page/index/index.js’,
output: {
path: ‘./dist’,
filename: ‘app.js’
}
};
[/code]

在命令行执行webpack,看到已经打包成功。

posted @ 2017-12-28 23:04  shirayner  阅读(356)  评论(0编辑  收藏  举报