【问题标题】:Using webpack with an existing Node project将 webpack 与现有的 Node 项目一起使用
【发布时间】:2018-06-12 10:21:57
【问题描述】:

我是 webpack 的新手,我正在努力弄清楚如何将现有项目切换到使用它(我现在在其中的一部分中使用 React,因此它已成为必要)。

我不确定的事情种类:

  1. 由于 package.json 也包含我所有的服务器端内容,它不会尝试将所有这些内容编译到 bundle.js 中吗?

  2. 我的项目包含大量静态提供的文件,以及大量 EJS 生成的页面。将所有内容都转换为 webpack 的最佳方法是什么,我认为将所有内容都转换为 'require' 语句而不是标签会有点令人头疼,但我想这是充分利用的好处的唯一方法网络包?是否有任何推荐的方法(甚至可以为我处理这些更改的脚本?!)。

【问题讨论】:

    标签: node.js reactjs webpack


    【解决方案1】:

    1.你的 package.json 中的后端依赖与你的前端无关。您只需要指出正确的入口点。

    仅供参考Entry Points

    2.我的建议是你可以在GitHub上找一个EJS loader来解决。

    仅供参考Loader

    【讨论】:

    • 所以,如果我的控制器是 index.js,它在 views/ 中具有 ejs 文件的 expressjs 路由,在 public/assets/ 中具有静态文件,那么 index.js 是否仍然是我的入口点,尽管它是一个控制器并拥有所有服务器的东西?如果不是,我的入口点是什么,一个 ejs 文件?还是...?
    • 现在您的前端项目是否设计为单个页面结构。我的意思是,您是每次在 expressjs 路由中收到请求时渲染整个页面,还是只渲染一次页面使用 backend 作为 REST api。如果你的项目不是单页结构,我建议你不要使用 webpack,因为它是为单页应用程序设计的,你可以使用 gulp 代替。
    • 我对 react 了解不多,但入口点应该是 javascript 文件,其中包含在根 html 元素上呈现你的 react 组件的代码,如果你有多个这样的文件或者你没有你的反应部分的路由器系统。那么你的项目不是单页应用程序。
    • 好的,现在我认为我所做的一切都是错误的,所以想学习 webpack,因为这似乎很重要。但是 webpack = SPA? SPA = 完全重写...
    【解决方案2】:
    1. Webpack 会为您处理“摇树”——也就是说,它只会包含您的入口点明确使用的模块,无论您的 package.json 文件中有什么。
    2. Webpack 中似乎已经对 EJS 提供了一些支持。一个很好的对话在这里:https://www.npmjs.com/package/ejs-simple-loader#purpose 然后您可以根据需要逐渐(或根本不)过渡。

    【讨论】:

      猜你喜欢
      • 2017-09-12
      • 2016-09-17
      • 2019-03-28
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      相关资源
      最近更新 更多