zoukankan      html  css  js  c++  java
  • Node.js应用程序一起使用Webpack的4个简单步骤

    Webpack是一个构建工具,可以更轻松地处理静态资源。使用Webpack,您可以轻松转换和优化来自单个配置的JavaScript,CSS,图像等等。在本教程中,我们将向您介绍使用Webpack与现有Node.js Web应用程序的4个简单步骤。

    前言:什么是Webpack?

    Webpack主要是一个JavaScript模块打包器。像React这样的库越来越受欢迎,它很大程度上依赖预处理将ES6打包并编译为更适合浏览器的ES5语法。Webpack不仅限于JavaScript,还可用于编译不同风格的CSS(SASS,LESS),优化图像等。它具有热重新加载和代码拆分功能,可为浏览器提供更优化的开发体验和最佳性能。

    以下是使用Webpack与现有Node.js Web应用程序的4个简单步骤。在这个例子中,我们将使用Babel使用Webpack将ES6转换为ES5。

    1)安装软件包

    使用Webpack的第一步是安装必要的依赖关系。使用npm可以轻松安装Webpack:

    npm install webpack --save-dev

    这将安装Webpack并将其保存为package.json文件中的开发依赖项

    Webpack依靠装载器在捆绑过程中处理和编译资产。在这个例子中,我们希望使用带有Webpack的Babel加载器将ES6转换为ES5。为了使用Babel加载器,我们需要安装Babel以及与Webpack一起使用的相应加载器和预设:

    npm install babel-core babel-loader babel-preset-es2015 --save-dev
    

      

    这将安装Babel以及与Webpack一起使用的babel-loaderbabel-preset- es2015。

    2)配置Webpack

    现在我们已经安装了所有必需的软件包,现在可以为我们的Node.js应用程序配置Webpack了。在项目的根目录下,创建一个webpack.config.js为其提供以下内容:

    var path = require('path');
    var webpack = require('webpack');
    module.exports = {
        entry: './public/js/main.js',
        output: {
            path: path.resolve(__dirname, 'public/js/'),
            filename: 'bundle.js'
        },
        module: {
            loaders: [
                {
                    test: /.js$/,
                    exclude: /node_modules/,
                    loader: 'babel-loader',
                    query: {
                        presets: ['es2015']
                    }
                }
            ]
        }
    };
    

      

    这是Webpack基本配置的一个例子。注意我们如何定义入口点。这告诉Webpack我们想要包含在我们的包中。虽然我们已经指定了一个./public/js/main.js文件,但您可以指定要包含的文件数组。还要意识到入口点指定了要包含的顶层文件。这意味着如果我们的main.js文件使用require()import来包含其他模块,那么Webpack将把这些模块作为bundle的一部分来处理。

    注意我们还包括了一个输出对象。这指定了我们从Webpack构建生成的结果包文件的路径和名称。这意味着Webpack会将我们的入口点文件main.js处理并捆绑它,然后将结果输出到一个bundle.js中,我们可以直接在HTML中引用它们。

    模块对象中,我们指定了用于Webpack构建的加载器。请记住,Webpack使用加载器来处理我们在入口对象中指定的文件。在这个例子中,我们已经指定我们要使用babel-loaderes2015预设来将ES6代码转换为ES5。

    3)更新HTML

    现在我们已经指定了一个输出文件,现在是更新我们的HTML的时候了。具体而言,我们想用我们在Webpack配置中指定的输出文件替换对原始条目文件main.js的引用

    <script src="bundle.js"></script>
    

      

    4)运行Webpack

    现在已经配置了webpack并在DOM中引用了生成的包文件,现在是时候运行Webpack了。要运行Webpack,只需运行:

    webpack
    

      这将生成具有转换代码的指定bundle.js文件。如果一切正常,您应该在控制台中看到类似于以下输出的内容:

    Hash: 53a4fdfb2a82d853e503
    Version: webpack 3.10.0
    Time: 3924ms
            Asset     Size  Chunks             Chunk Names
        bundle.js  6.36 kB       0  [emitted]  main
    bundle.js.map    11 kB       0  [emitted]  main
       [0] ./public/js/main.js 3.83 kB {0} [built]
    

      

    以手表模式运行

    您可以选择以监视模式运行webpack,这样每次更改受影响的文件时都不必手动运行webpack。为此,只需添加--watch标志:

    webpack --watch
    

      

    现在,无论何时更改入口文件(或其中一个引用的文件),webpack都会自动运行构建并更新生成的bundle.js文件。

    结论

    在这个基本示例中,我们演示了如何将Webpack与现有的Node.js项目一起使用,以执行ES6到ES5的转换。重要的是要记住,Webpack不仅可用于处理JavaScript,还可用于处理CSS,图像,字体等。通过在Webpack配置中指定不同的加载器,您可以使用Webpack优化静态资产并简化开发流程。

    【转自】:4 Easy Steps to Using Webpack with Your Node.js App

  • 相关阅读:
    AsyncTask(异步任务)
    Android之listview添加数据篇
    Android之ListView动态添加数据(SQLiteOpenHelper类添加数据)
    Android之sqlite数据库版本升级和降级的处理(onUpgrade和onDowngrade)
    Android中的Sqlite中的onCreate方法和onUpgrade方法的执行时机
    Android之SQLite
    Eclipse快捷键
    Android之微信布局篇
    Android之MainActivity类
    onOptionsItemSelected、onMenuItemSelected、onContextItemSelected 区别
  • 原文地址:https://www.cnblogs.com/bertha-zm/p/8573197.html
Copyright © 2011-2022 走看看