【问题标题】:Webpack with Express application generator带有 Express 应用程序生成器的 Webpack
【发布时间】:2019-04-09 11:51:20
【问题描述】:

我对 Expressjs (Nodejs) 完全陌生,我正在使用“Express 应用程序生成器”,这里是 link。我正在构建简单的网站并使用(嵌入式 JavaScript 模板/EJS),我想将 webpack 添加到我的应用程序中。

这是我的项目结构。

这是我的 app.js

    var express = require('express');
    var path = require('path');
    var logger = require('morgan');
    var index = require('./routes/index');
    var app = express();


    // view engine setup
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'ejs');

   // set path for static assets
   app.use(express.static(path.join(__dirname, 'public')));


   // routes
   app.use('/', index);

   // catch 404 and forward to error handler
  app.use(function(req, res, next) {
  var err = new Error('404 page.');
   err.status = 404;
   next(err);
   });

   // error handler
  app.use(function(err, req, res, next) {
   // render the error page
  res.status(err.status || 500);
  res.render('error', {status:err.status, message:err.message});
  });

  module.exports = app;

有没有人知道如何做,一些例子或任何可以帮助我的东西?

谢谢大家

【问题讨论】:

    标签: javascript node.js express webpack


    【解决方案1】:

    Webpack 用于单页应用程序。只有一个 index.html 作为 钩子,所有的前端内容将由js文件生成并由webpack捆绑在一起,然后附加到html钩子上。

    如果您使用 ejs 或其他模板引擎,则不需要 webpack 捆绑脚本,因为您可以在 ejs 文件中拆分和加载脚本。

    你的 app.js 和其他 Express 东西 是在你的服务器上运行的后端东西,它们根本不需要捆绑或操作,你可以做任何你想做的事情,因为那些位于您的服务器上,而不是用户的浏览器上。

    所以开始编写您的应用程序吧。

    【讨论】:

    • @jomskris 欢迎您,如果您认为这有帮助,请考虑投票或选择正确答案。 :)
    • 不过,这并不完全正确。 Webpack 用于捆绑客户端资产,但这并不意味着您必须拥有 SPA 才能使用它。即使您正在运行一个传统的应用程序,您也可能希望运行一个构建过程来将 Typescript 转换为 JS,或者甚至只是组合和缩小以缩短页面加载时间。
    • @Paul,同意,在这种情况下,还有许多其他工具,例如 gulp 专用于此。
    猜你喜欢
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多