美文网首页
webpack的简单配置(一)

webpack的简单配置(一)

作者: wa7ch | 来源:发表于2017-09-03 01:48 被阅读0次
开始

首先生成一个项目 npm init
安装webpack以及webpack-dev-server

npm install webpack webpack-dev-server --save-dev

(由于使用了之前的老静态页面做练习,只是简单的打包了css,js以及一些静态文件)
需要安装的依赖有:css-loader、style-loader、extract-text-webpack-plugin(该插件可以使散落的css文件打包成一个css,在首页使用link引入)、file-loader、url-loader、webpack-merge、html-webpack-plugin(用于生成html模板)

然后在package.json文件的script中配置开启以及打包的内容

"dev": "webpack-dev-server  --open  --config  webpack.config.js"
"build": "webpack --progress --hide-modules --config build.js"

在这里需要创建两个文件:一个是webpack.config.js以及build.js

在webpack.config.js文件中:

const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

const config = {
    entry: {
        main: './main'
    },
    output: {
        path: path.join(__dirname, './distdoc'),
        publicPath: '/distdoc/',
        filename: 'main.js'
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: ExtractTextPlugin.extract({
                    publicPath: './',
                    use: 'css-loader?minimize',
                    fallback: 'style-loader'
                })
            },
            {
        test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
        loader:'url-loader?limit=1024&name=distdoc/[hash].[ext]'
         }
        ]
    },
    plugins: [
        new ExtractTextPlugin('main.css')
    ]
};

module.exports = config;

在这里需要在配置css中加上publicPath: './' 让css中的资源地址为相对路径,css-loader后面加上minimize使打包后的css代码压缩,入口文件为当下的main.js,需要配置main.js,出口文件则配置为distdoc文件夹下面的main.js(自动生成)

在main.js中 把我们需要打包编译的文件加上

import './css/reset.css'
import './css/index.css'
import func from './js/func.js'
import JSONdate from './js/JSONdate.js'
func();
JSONdate();

后面的js文件 我们使用export default function ...()的方法将其导出

最后在需要打包的build.js文件中

const webpack = require('webpack')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const merge = require('webpack-merge')
const webpackBaseConfig = require('./webpack.config')

webpackBaseConfig.plugins = []

module.exports = merge(webpackBaseConfig, {
    output: {
        publicPath: '/distdoc/',
        filename: '[name].js'
    },
    plugins: [
        new ExtractTextPlugin({
            filename: '[name].css',
            allChunks: true
        }),
        new webpack.DefinePlugin({
            'process.env': {
                NODE_ENV: '"production"'
            }
        }),
        new webpack.optimize.UglifyJsPlugin({ 
            compress: {
                warnings: false
            }
        }),
        new HtmlWebpackPlugin({
            filename: '../index_pro.html',
            template: './index.html',
            inject: false
        })
    ]

})

我们将其打包的文件为index_pro.html,模板为index.html,配置webpack.optimize.UglifyJsPlugin让打包后的js代码压缩

相关文章

  • webpack的简单配置(一)

    开始 首先生成一个项目 npm init安装webpack以及webpack-dev-server (由于使用了之...

  • webpack简单配置

    在项目内添加一个.npmrc文件: 淘宝镜像 sass_binary_site=https://npm.taoba...

  • webpack简单配置

    创建webpack.config.js 目录结构 运行webpack 方法一: 方法二:package.json ...

  • 简单的webpack配置

    let path = require("path"); const uglifyJsPlugin = requir...

  • webpack的简单配置

    最近在配置webpack独立打包css文件的时候遇到一些问题。拿出来跟大家分享一下。 关于webpack的具体介绍...

  • webpack的简单配置

    环境 一、局部安装 提示: 版本更新太快, 建议局部安装. 二、检查是否安装成功 默认的入口文件是 src/ind...

  • 简单配置webpack过程(一)

    1.webpack的概念 webpack本质上是一个现代化JavaScript应用程序的静态模块打包器,webpa...

  • 使用 VueJS 全家桶做一个简单的 SPA 应用

    参考网址(反正一直失败) webpack (之前在react方面也用过,安装配置很简单) 全局安装webpack(...

  • webpack2配置

    使用vue做一个简单的SPA应用,配置webpack 安装Node.js webpack是基于Node.js的打包...

  • webpack devServer 相关配置

    1、webpack devServer 开启服务的简单配置 2、模块热更新 plugins 依赖配置 3、利用 b...

网友评论

      本文标题:webpack的简单配置(一)

      本文链接:https://www.haomeiwen.com/subject/znddjxtx.html