运行命令

  1. 安装依赖:npm install
  2. 运行项目:npm start

大致流程

  1. npm init:新建 package.json

  2. 将需要的依赖模块加入 dependencies(生产环境) 和 devDependencies(开发环境,在本地打包所需的模块)

  3. npm install:自动安装上述添加好的模块

  4. 配置 webpack.config.js

  5. 配置 package.jsonscript:自定义命令

如果不在 package.json 里面配置,可以通过手动安装模块(☟),输入命令,执行后会自动添加到 dependenciesdevDependencies 中。

文件目录

assets/

  • css/

    • style.scss

src/

  • content.js
  • index.js

index.html

package.json

webpack.config.js

package.json 文件预览

  1. {
  2. "name": "webpack_scaffold",
  3. "version": "1.0.0",
  4. "description": "a scaffold with webpack",
  5. "main": "index.js",
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1",
  8. "start": "webpack-dev-server --port 8080 --hot --inline --progress --colors --devtool eval",
  9. "build": "webpack --display-error-details",
  10. "watch": "webpack --progress --colors --watch"
  11. },
  12. "author": "Ruth",
  13. "license": "ISC",
  14. "devDependencies": {
  15. "babel-core": "^6.16.0",
  16. "babel-loader": "^6.2.5",
  17. "babel-preset-es2015": "^6.14.0",
  18. "css-loader": "^0.25.0",
  19. "mustache-loader": "^0.3.0",
  20. "node-sass": "^3.4.2",
  21. "sass-loader": "^3.1.1",
  22. "scss-loader": "0.0.1",
  23. "style-loader": "^0.13.1",
  24. "url-loader": "^0.5.7",
  25. "webpack": "^1.13.2",
  26. "webpack-dev-server": "^1.16.1"
  27. },
  28. "dependencies": {
  29. "jquery": "^3.1.1"
  30. },
  31. "repository": {
  32. "type": "git",
  33. "url": ""
  34. },
  35. "bugs": {
  36. "url": ""
  37. },
  38. "homepage": ""
  39. }

webpack.config.js 配置预览

  1. var webpack = require('webpack');
  2. module.exports = {
  3. entry: {
  4. index: [
  5. 'webpack-dev-server/client?http://localhost:8080/',
  6. './src/index.js'
  7. ]
  8. },
  9. output: {
  10. path: './dist', // webpack 本地打包路径
  11. filename: "bundle.js",
  12. // 线上发布路径,和path最好保持一致,html页面引入script路径
  13. publicPath: '/dist/'
  14. },
  15. /*devServer: {
  16. historyApiFallback: true,
  17. hot: true,
  18. inline: true,
  19. progress: true
  20. },*/
  21. module: {
  22. loaders: [{
  23. test: /\.css$/,
  24. loader: 'style!css'
  25. }, {
  26. test: /\.scss$/,
  27. loader: 'style!css!sass?sourceMap'
  28. }, {
  29. test: /\.js$/,
  30. loader: 'babel',
  31. // 可以单独在当前目录下配置.babelrc,也可以在这里配置
  32. query: {
  33. presets: ['es2015']
  34. },
  35. // 排除 node_modules 下不需要转换的文件,可以加快编译
  36. exclude: /node_modules/
  37. }, {
  38. test: /\.(png|jpg)$/,
  39. loader: 'url-loader?limit=8192'
  40. }, {
  41. test: /\.tpl$/,
  42. loader: 'mustache'
  43. }]
  44. },
  45. plugins: [
  46. // 暴露全局接口
  47. new webpack.ProvidePlugin({
  48. $: 'jquery',
  49. jQuery: 'jquery'
  50. })
  51. ]
  52. }

手动安装模块说明

☛ 安装 webpack,建议本地安装,减少依赖

  1. `$ npm install webpack --save-dev`

☛ 如果需要使用 webpack 开发者工具,要单独安装

  1. `$ npm install webpack-dev-server --save-dev`

安装各种 loader:模块和资源的转换器

Webpack 本身只能处理原生的 JavaScript 模块,但是 loader 转换器可以将各种类型的资源转换成 JavaScript 模块。这样,任何资源都可以成为 Webpack 可以处理的模块。

(1)安装 style/css/sass loader

  1. $ npm install --save-dev style-loader css-loader sass-loader

如果有问题,需要安装 node-sass

配置 webpack.config.js

  1. module: {
  2. loaders: [{
  3. test: /\.scss$/,
  4. loader: 'style!css!sass'
  5. }]
  6. }

(2)将 ES2015 转换成 ES6

安装 Babel 和 preset:

  1. $ npm install --save-dev babel-core babel-preset-es2015

安装 babel-loader

  1. $ npm install --save-dev babel-loader

配置 babelrc

  1. { "presets": [ "es2015" ] }

配置 webpack.config.js

  1. module: {
  2. loaders: [{
  3. test: /\.js$/,
  4. // 排除 node_modules 下不需要转换的文件,可以加快编译
  5. exclude: /node_modules/,
  6. loader: 'babel-loader'
  7. }]
  8. }

(3) 安装需要的第三方库

  1. npm install --save jquery babel-polyfill
  2. // --save:添加到 dependencies 中,表明是运行时所需要的库
  3. // 使用 babel-polyfill:ES2015 API 在旧的浏览器中也可以使用

(4)其他库

☛ 安装插件

其他

github地址:

webpack_scaffold1

webpack_scaffold2:在 webpack_scaffold1 的基础上进行更改,对 css 及第三方 js 库进行打包,并更改 webpack.config.js 中的启动本地服务的配置

具体参考

☂ 参考:

☂ 问题解决参考:

webpack脚手架搭建(简单版)的更多相关文章

  1. 使用vue-cli脚手架搭建简单项目框架

    1.首先已经安装了node,最好版本6以上. 2.安装淘宝镜像 大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像.这样就可以直接使用cnpm了. npm insta ...

  2. vue-cli脚手架搭建项目简单入门一

    搭建系统: Windows系统 简单了解Node.js.npm,安装Node.js,下载网址:http://nodejs.cn/download/ 查看node,npm安装成功与否.打开cmd命令行, ...

  3. 从0开始搭建vue+webpack脚手架(三)

    在从0开始搭建vue+webpack脚手架(二)中已经基本完成了开发环境的配置.当开发完成后,我们需要将完成的项目进行打包,接下来对打包做一些优化: 运行 $ npm run build 可生成dis ...

  4. 从0开始搭建vue+webpack脚手架(二)

    接着从0开始搭建vue+webpack脚手架(一) 三.配置webpack-dev-server 1. webpack-dev-server自带一个node的服务器, 项目在服务端运行的同时可以实现热 ...

  5. 前端MVC Vue2学习总结(七)——ES6与Module模块化、Vue-cli脚手架搭建、开发、发布项目与综合示例

    使用vue-cli可以规范项目,提高开发效率,但是使用vue-cli时需要一些ECMAScript6的知识,特别是ES6中的模块管理内容,本章先介绍ES6中的基础与模块化的内容再使用vue-cli开发 ...

  6. vue开发环境搭建Mac版

    一.前言 要做一个移动端app,面对webapp最流行的三个技术React,angular,vue,三选一,如何选,可参考blog移动app技术选型,react,angular, vue, 下面是对  ...

  7. 在windows下用脚手架搭建vue环境

    做了几个月vue项目,最近两个项目使用脚手架搭建的,确实用脚手架搭建方便了许多,想想以前自己手配的时候,确实是... 1.在这之前我是默认你已经使用过vue的,也默认你已经安装了node.js 2.接 ...

  8. 利用VUE-CLI脚手架搭建VUE项目

    前言 在学习完vue基础语法之后,学着利用vue-cli脚手架搭建一个项目,本篇随笔主要记录搭建的过程,供大家一起学习. 具体内容 搭建vue项目的准备工作 1.安装Nodejs.NPM以及VSCod ...

  9. 个人脚手架搭建 -- charmingsong-cli

    个人脚手架搭建 -- charmingsong-cli 目的 为了解决多次构建相同功能的项目,在一定程度上需要定制化以及私有化设置 设计 问题 为什么不用现成的脚手架生成? 如果利用vue或者reac ...

随机推荐

  1. Excel公式错误提示啥意思?

    1.#####!返回的结果超出了单元格的宽度:或者单元格的日期时间公式产生了一个负值. 2.#VALUE!使用了错误的参数或运算对象类型. 3.#DIV/O!当公式被零除时产生此错误. 4.#NAME ...

  2. Java开发中经典的小实例-(100能被3整除的数打印出来)

    public class Test21 {    public static void main(String[] args) {        // TODO Auto-generated meth ...

  3. 后勤数据抽取流程图 Logistic Data Extraction

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. 左边图标右边文字,在div里居中

  5. 20160817_Redis配置操作

    ZC: 主要是 做一些配置,使得 java程序能够访问到 redis服务器,主要内容为:ZC: ①.redis服务端服务 重启的命令ZC: ②.取消绑定 本地IP的配置,使得 所有本网段局域网机器都能 ...

  6. HBase之集群状态

    import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.had ...

  7. oracle表空间不足相关问题解决办法

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  8. knn原理与实践

    knn法是一种基本分类与回归方法 应用:knn算法不仅可以用于分类,还可以用于回归.. 1.文本分类:文本分类主要应用于信息检索,机器翻译,自动文摘,信息过滤,邮件分类等任务. 2.可以使用knn算法 ...

  9. LRU Cache [LeetCode]

    Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...

  10. Google 黑客搜索技巧

    常用的google关键字: foo1 foo2 (也就是关联,比如搜索xx公司 xx美女) operatorfoo filetype123 类型 sitefoo.com 相对直接看网站更有意思,可以得 ...