• webpack+ES6+less 开发环境搭建


    webpack是什么
      Webpack 是一个模块打包器。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
     
    百度网盘视频下载:http://pan.baidu.com/s/1jIPJucu
     
    基本命令
    webpack // 最基本的启动webpack的方法 (例子:webpack index.js bundle.js ----index.js 打包的入口文件路径;bundle.js 打包后的输出文件名)
    webpack -w // 提供watch方法;实时进行打包更新
    webpack -p // 对打包后的文件进行压缩
    webpack -d // 提供source map,方便调式代码
    全局安装
    # npm install webpack -g //利用npm安装全局模块webpack;
    【 注意:安装完后使用webpack,若提示安装webpeck-cli,则需全局安装: npm i webpack-cli -g 】
    项目安装:
    1. # 进入项目目录
    2. # 确定已经有 package.json,没有就通过 npm init 创建
    3. # 安装 webpack 依赖
    4. # npm install webpack --save-dev //本地安装并写入package.json的“devDependencies”中;
    使用ES6
    安 装 babel-loader:
    # npm install babel-loader --sa ve-dev //安装并写入package.json的“devDependencies”中;
    安装转码规则:
    # npm install babel-preset-es2015 --save-dev
    ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个
    # npm install --save-dev babel-preset-stage-0
    # npm install --save-dev babel-preset-stage-1
    # npm install --save-dev babel-preset-stage-2
    # npm install --save-dev babel-preset-stage-3

    参考格式:

    {
        test: /.js$/,
        loader: 'babel?presets[]=es2015,presets[]=stage-0'
    }
    编译css
    安装css-loader:
    # npm install css-loader --save-dev
    安装style-loader
    # npm install style-loader --save-dev
    参考格式:
    {
    test: /.css$/,
    loaders: ['style', 'css', 'autoprefixer']
    }
    编译less
    # npm install less --save-dev
    安装less-loader:
    # npm install less-loader --save-dev
    参考格式:
    {
        test: /.less/,
        loaders: ['style', 'css', 'autoprefixer', 'less'],
    }
    使用autoprefixer自动补上浏览器兼容
    # npm install autoprefixer-loader --save-dev
    参考格式:
    {
        test: /.css$/,
        loaders: ['style', 'css', 'autoprefixer']
    }, {
        test: /.less/,
        loaders: ['style', 'css', 'autoprefixer', 'less'],
    }
    编译文件
    安装file-loader:
    # npm install file-loader --save-dev
    参考格式:
    {
        test: /.(eot|woff|svg|ttf|woff2|gif)(?|$)/,
        loader: 'file-loader?name=[hash].[ext]'
    }
    编译图片
    # npm install url-loader --save-dev
    参考格式:
    {
        test: /.(png|jpg)$/,
        loader: 'url?limit=1200&name=[hash].[ext]'
    }
    编译JSX
    # npm install jsx-loader --save-dev
    # npm install babel-preset-react --save-dev
    参考格式:
    {
        test: /.jsx$/,
        loaders: ['jsx', 'babel?presets[]=es2015,presets[]=stage-0,presets[]=react']
    }
    示例源码
    在项目目录下,新建一个webpack.config.js文件,把下面代码复制进去,然后在新建一个app.js和index.js文件,写上console.log('你好世界');执行命令:webpack 然后找到build目录就看到编译后的文件了
     
    //CommonJS的写法---模块加载
    var webpack = require('webpack');
     
    //导出一个对象
    module.exports = {
    entry: {
        app: './app', //编译的入口文件
        index: './index', //编译的入口文件
    },
    output: {
        publicPath: '/build/', //服务器根路径
        path: './build', //编译到当前目录(输出目录)
        filename: '[name].js' //编译后的文件名字
    },
    module: {
        loaders: [{
                test: /.js$/,
                loader: 'babel?presets=es2015'
            }, {
                test: /.css$/,
                loaders: ['style', 'css', 'autoprefixer']
            }, {
                test: /.less/,
                loaders: ['style', 'css', 'autoprefixer', 'less'],
            }, {
                test: /.(eot|woff|svg|ttf|woff2|gif)(?|$)/,
                loader: 'file-loader?name=[hash].[ext]'
            }, {
                test: /.(png|jpg)$/,
                loader: 'url?limit=1200&name=[hash].[ext]' //注意后面那个limit的参数,当你图片大小小于这个限制的时候,会自动启用base64编码图片
            }
        ]
    },
        plugins: [
            new webpack.optimize.CommonsChunkPlugin('common.js') //将公用模块,打包进common.js
        ],
        resolve: {
            extensions: ['', '.js', '.jsx'] //后缀名自动补全
        }
    };
     
  • 相关阅读:
    linux系统权限管理拓展:特殊权限
    Linux系统对文件及目录的权限管理(chmod、chown)
    linux 用户、用户组及相关命令(useradd 、passwd、userdel 、groupadd 、groupdel、usermod 、gpasswd 、 id、su)
    Tiny4412学习杂记
    Android 使用技巧
    Tiny4412 LED 硬件服务
    Android M AudioPolicy 分析
    qt程序异常结束crashed
    source in sight 删除工程
    qt数据库sql语句使用c++中的变量
  • 原文地址:https://www.cnblogs.com/queende7/p/8668671.html
Copyright © 2020-2023  润新知