webpack的配置

使用webpack工具需要配置一个根目录下的配置文件,文件名默认为webpack.condfig.js,配置文件导出一个模块对象,包含了webpack工具的相关配置参数,这个模块对象将会以参数形式被引用。

参数 : entry

该参数对象指明了入口文件的配置:

 //页面入口文件配置
    entry: {
        demo : [baseUrl + "demo.js"],
    },

参数 : output

该参数对象指明了文件被工具经过打包等操作后的输出配置,包括输出的文件的存放位置和文件名称等:

   //文件输出配置
    output: {
        path: ‘src/js‘,
        filename: ‘[name].js‘,
    },

参数 : plugins

该参数对象指明了工具将应用上哪些插件,每个插件都被封装为一个类,引用时需要new生产,例如:

  • webpack/lib/optimize/CommonsChunkPlugin:该插件用于封装文件间公共复用的部分,使代码更合理,简洁。
  • webpack.ProvidePlugin: 该插件用于为了避免重复在每个模块里重复require我们需要的库,集中设置这些引用的库并直接使用在每个模块中。
 //插件项
    plugins: [
        new CommonsChunkPlugin("common.js"),
        new webpack.ProvidePlugin({
        $ : "jquery",
        }),
    ],

参数 : module

该参数对象指明了相关加载器配置,加载器非常有用,它保证了工具对现有的前端资源的扩展性,它可以加载并解析各种前端资源,相应的加载器需要npm install安装。

module: {
        //加载器配置
        loaders: [
            { test: /\.css$/, loader: ‘style-loader!css-loader‘ },
            { test: /\.(js|jsx)$/, loader: ‘jsx-loader?harmony‘ },
            { test: /\.scss$/, loader: ‘style!css!sass?sourceMap‘},
            { test: /\.(png|jpg)$/, loader: ‘url-loader?limit=25000‘},
            { test: /\.(hbs|html)$/, loader: "handlebars"},

        ]
    },

参数 : resolve

该参数指明了其他基本配置,

  resolve: {
        //查找module的话从这里开始查找
        root: ‘E:/github/flux-example/src‘, //绝对路径
        //自动扩展文件后缀名,意味着我们require模块可以省略不写后缀名
        extensions: [‘‘, ‘.js‘, ‘.json‘, ‘.scss‘],
        //模块别名定义,方便后续直接引用别名,无须多写长长的地址
        alias: {
            AppStore : ‘js/stores/AppStores.js‘,//后续直接 require(‘AppStore‘) 即可,
            ActionType : ‘js/actions/ActionType.js‘,
            AppAction : ‘js/actions/AppAction.js‘
        }
    }

全部代码:

var webpack = require(‘webpack‘);
var CommonsChunkPlugin = require("webpack/lib/optimize/CommonsChunkPlugin");
var baseUrl = "./src/dev/pactions/";
module.exports = {

    //页面入口文件配置
    entry: {
        demo : [baseUrl + "demo.js"],
    },

    //文件输出配置
    output: {
        path: ‘src/js‘,
        filename: ‘[name].js‘,
    },

    //插件项
    plugins: [
        new CommonsChunkPlugin("common.js"),
        new webpack.ProvidePlugin({
        $ : "jquery",
        }),
    ],

    module: {
        //加载器配置
        loaders: [
            { test: /\.css$/, loader: ‘style-loader!css-loader‘ },
            { test: /\.js$/, loader: ‘jsx-loader?harmony‘ },
            { test: /\.scss$/, loader: ‘style!css!sass?sourceMap‘},
            { test: /\.(png|jpg)$/, loader: ‘url-loader?limit=4096‘},
            {test: require.resolve(‘jquery‘), loader: ‘expose-loader?$‘},
        ]
    },
    //其它解决方案配置
    resolve: {
        root:‘G:/baseNode/baseNd/baseNd/views‘, //绝对路径
        extensions: [‘‘, ‘.js‘, ‘.json‘, ‘.scss‘],
        alias: {
            AppStore : ‘js/stores/AppStores.js‘,
            ActionType : ‘js/actions/ActionType.js‘,
            AppAction : ‘js/actions/AppAction.js‘
        }
    }
};
				
时间: 2024-10-23 13:11:57

webpack的配置的相关文章

webpack实用配置

前面的话 上文介绍了webpack入门,本文将详细介绍webpack实用配置 版本号 以entry.js打包为bundle.js为例,出口的filename可以设置为[id].[name].[hash].[chunkhash]等替换形式,如下所示 var webpack = require('webpack'); module.exports = { entry: './entry.js', //入口文件 output: { path: __dirname,//出口路径 filename: '[

webpack安装配置使用教程详解

webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对于不喜欢使用 jspm测试的朋友可以参考一下. webpack 入门 目录 1 安装 webpack2 初始化项目3 webpack 配置4 自动刷新5 第三方库6 模块化7 打包.构建8 webpack 模板我最近大量使用的是 jspm,但因为用它搭建的前端开发环境中,写测试代码非常困难,而项目又

vue 一些webpack的配置详解

最近一直在忙着做项目 本来想养成一个经常跟新博客的习惯 , 但是实在是太难了 , 每天加班到10点多 .8点能下班都是最好的了 , 小公司真不好待呀 分享一下最近半年的vue心得吧 我的项目是在他的基础上改的 PanJiaChen/vueAdmin-template vuex 咋web上我觉得是鸡肋 , 用户刷新页面直接就没了........... 这是我的目录 , 现在我遇到一个瓶颈  , 就是如何优化 build 的速度问题 , 这个问题随着页面原来越多已经发展到越来越恐怖的地方了现在打包一

webpack详细配置解析

阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段时间慢慢阅读本文,你的疑惑一定一个一个都会消失:如果你以前没怎么接触过Webpack,而你又你对webpack感兴趣,那么动手跟着本文中那个贯穿始终的例子写一次,写完以后你会发现你已明明白白的走进了Webpack的大门. //一个常见的Webpack配置文件 var webpack = require('webp

webpack基础配置

现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包.为了简化开发的复杂度,前端社区涌现出了很多好的实践方法 模块化,让我们可以把复杂的程序细化为小的文件; 类似于TypeScript这种在JavaScript基础上拓展的开发语言:使我们能够实现目前版本的JavaScript不能直接使用的特性,并且之后还能转换为JavaScript文件使浏览器可以识别: Scss,less等CSS预处理器 ... 这些改进确实大大的提高了我们的开发效率,但是利用它们

Vue2+webpack+node 配置+入门+详解

Vue2介绍 1.vue2.0 Vue (读音 /vju?/,类似于 view) 是一套用于构建用户界面的渐进式框架. Vue 的核心库只关注视图层 采用单文件组件 复杂大型单页应用程序(SPA) 响应式的数据绑定,与组件化的开发 HTML中的DOM与其他的部分独立开来划分出一个层次,这个层次就叫做视图层 2.Webpack Webpack是一个前端打包和构建工具. webpack有四个核心概念: 入口(entry)指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始.可以单个入

在webpack中配置vue.js

在webpack中配置vue.js 这里有两种在webpack中配置vue.js的方法,如下: 1.在main.js中引入vue的包: index.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,

深入理解webpack基本配置(一)

1. 安装webpack到全局 在学习构建之前,我们来在本地文件新建一个存放项目的文件夹,比如叫demo1这个项目,然后进入demo1该项目的根目录后,执行命令 npm init运行下,一路回车(先简单的来),就会生成一个package.json文件. 在项目中直接运行如下命令,就可以把webpack安装到全局去:如下命令: npm install -g webpack 2. 安装webpack到本项目. 在本项目中,执行如下命令,就可以把webpack安装到本地项目中,如下命令: npm in

webpack4.0:webpack基础配置

webpack安装 npm i webpack webpack-cli -D npm init -y 初始化,-y参数代表init的过程中不必敲回车,直接生成默认的package.json文件 配置webpack 默认配置文件名:webpack.config.js 新建webpack.config.js文件,配置如下: 新建src文件夹,在src下 新建index.js入口文件,随便输入点东西 执行打包命令:npx webpack,就会生成一个dist目录(为啥打包后的文件名不是我配置的bund

webpack 最佳配置指北

webpack 最佳配置指北 前言 对于入门选手来讲,webpack 配置项很多很重,如何快速配置一个可用于线上环境的 webpack 就是一件值得思考的事情.其实熟悉 webpack 之后会发现很简单,基础的配置可以分为以下几个方面: entry . output . mode . resolve . module . optimization . plugin . source map . performance 等,本文就来重点分析下这些部分. 内附一张 webpack 零配置对比图片,关