• webpack入门


    转载:https://segmentfault.com/a/1190000006178770?utm_source=tag-newest

    1、webpack配置文件


    // 一个常见的`webpack`配置文件
    const webpack = require('webpack');
    const HtmlWebpackPlugin = require('html-webpack-plugin');
    const ExtractTextPlugin = require('extract-text-webpack-plugin');

    module.exports = {
          entry: __dirname + "/app/main.js", //已多次提及的唯一入口文件
          output: {
              path: __dirname + "/build",
              filename: "bundle-[hash].js"
          },
          devtool: 'none',
          devServer: {
              contentBase: "./public", //本地服务器所加载的页面所在的目录
              historyApiFallback: true, //不跳转
              inline: true,
              hot: true
          },
          module: {
              rules: [{
                      test: /(.jsx|.js)$/,
                      use: {
                          loader: "babel-loader"
                      },
                      exclude: /node_modules/
                  }, {
                      test: /.css$/,
                      use: ExtractTextPlugin.extract({
                          fallback: "style-loader",
                          use: [{
                              loader: "css-loader",
                              options: {
                                  modules: true,
                                  localIdentName: '[name]__[local]--[hash:base64:5]'
                              }
                          }, {
                              loader: "postcss-loader"
                          }],
                      })
                  }
              }
          ]
      },
      plugins: [
          new webpack.BannerPlugin('版权所有,翻版必究'),
          new HtmlWebpackPlugin({
              template: __dirname + "/app/index.tmpl.html" //new 一个这个插件的实例,并传入相关的参数
          }),
          new webpack.optimize.OccurrenceOrderPlugin(),
          new webpack.optimize.UglifyJsPlugin(),
          new ExtractTextPlugin("style.css")
      ]
    };

    2、为什么要使用WebPack

    现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包。为了简化开发的复杂度,前端社区涌现出了很多好的实践方法

    • 模块化,让我们可以把复杂的程序细化为小的文件;

    • 类似于TypeScript这种在JavaScript基础上拓展的开发语言:使我们能够实现目前版本的JavaScript不能直接使用的特性,并且之后还能转换为JavaScript文件使浏览器可以识别;

    • Scss,less等CSS预处理器

    • ...

    这些改进确实大大的提高了我们的开发效率,但是利用它们开发的文件往往需要进行额外的处理才能让浏览器识别,而手动处理又是非常繁琐的,这就为WebPack类的工具的出现提供了需求。

    什么是Webpack

    WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用

    正式使用Webpack

    webpack可以在终端中使用,在基本的使用方法如下:

    # {extry file}出填写入口文件的路径,本文中就是上述main.js的路径,
    # {destination for bundled file}处填写打包文件的存放路径
    # 填写路径的时候不用添加{}
    webpack {entry file} {destination for bundled file}

    for instance:

    项目结构

    # webpack非全局安装的情况
    node_modules/.bin/webpack app/main.js public/bundle.js

    通过配置文件来使用Webpack

    Webpack拥有很多其它的比较高级的功能(比如说本文后面会介绍的loadersplugins),这些功能其实都可以通过命令行模式实现,但是正如前面提到的,这样不太方便且容易出错的,更好的办法是定义一个配置文件,这个配置文件其实也是一个简单的JavaScript模块,我们可以把所有的与打包相关的信息放在里面。

  • 相关阅读:
    jQuery插件:用于获取元素自身的HTML内容
    自定义 Web 部件用户界面简介
    在MOSS2010中实现OU下的用户的上下级组织关系
    sharepoint2010人性化的地方--员工离职AD账号禁用(个人网站自动提醒上级经理功能)
    SharePoint2010文档归档策略(2)-从放置库转移到自己定义的文档库
    SharePoint2010文档归档策略
    如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例)
    如何实现SP文档库类似百度文档库的效果 (副标题:如何在SP2013文档库的SWF文件用FlexPager显示)
    查看SharePoint文档库是,显示层次目录,可以点击返回层次
    安装和配置SharePoint 2013 with SP1 Workflow
  • 原文地址:https://www.cnblogs.com/johnson-G/p/11929670.html
Copyright © 2020-2023  润新知