简体   繁体   English

使用Nodejs构建可扩展的网站

[英]Building An Extendable Website With Nodejs

I am looking to build a website framework that has the ability to be highly extendable by plugins. 我正在寻找一个能够通过插件高度扩展的网站框架。 The core website will include some global functions that can be made use of by various pages and such, but the idea is to allow plugins to really drive the overall website. 核心网站将包括一些可以由各个页面等使用的全局功能,但是其思想是允许插件真正驱动整个网站。

While the base core will be used to display some generic pages, I want to have plugins able to extend the site further with handling various things between full routes to overriding parts of the current cores pages. 虽然基本核心将用于显示一些通用页面,但我希望具有能够扩展站点的插件,以便处理从完整路径到当前核心页面的覆盖部分之间的各种情况。

The idea would be something like how Wordpress has plugins that allow complete control of how the site renders and looks as well as functionality and features. 这个想法将类似于Wordpress如何具有插件,这些插件可以完全控制网站的呈现和外观以及功能和特性。

A plugin, in this setup, would have the control of doing a lot of things such as: 在此设置中,插件可以控制很多事情,例如:

  • Handling routes that are not defined in the core. 处理未在核心中定义的路由。 (Or even overriding an existing route.) (甚至覆盖现有路线。)
    • Including being able to render pages that do not exist in the core already. 包括能够呈现核心中不存在的页面。
  • Added custom .css and .js files to pages. 向页面添加了自定义.css和.js文件。
  • Overriding existing data / templates. 覆盖现有数据/模板。
  • Adding configurations that can be used and shared between other plugins. 添加可以在其他插件之间使用和共享的配置。
  • And so on. 等等。

However, I'm not sure where to begin with doing something like this while using Node.js. 但是,我不确定在使用Node.js时从哪里开始做这样的事情。 Let alone where to look for examples of something similar. 更不用说在哪里寻找类似的例子了。

With my core website, I would like to use a few specific modules such as: 在我的核心网站上,我想使用一些特定的模块,例如:

  • express 表达
  • vash (for the html engine) vash(用于html引擎)
  • passport (for authentication) 护照(用于身份验证)
  • less-middleware (for handling .LESS based css files) 较少中间件(用于处理基于.LESS的CSS文件)

And from there allow plugins to do whatever they want. 从那里开始,允许插件执行他们想要的任何事情。

I am looking for some suggestions on this idea, examples of existing implementations, etc. if there are any available. 我正在寻找有关此想法的建议,现有实现的示例等(如果有)。

I think that there are already similar websites/CMS's. 我认为已经有类似的网站/ CMS。

You will find pencilblue which allows to build own plugins and share them with others: https://pencilblue.org/ . 您会发现pencilblue,它可以构建自己的插件并与其他人共享: https ://pencilblue.org/。 This one looks pretty interesting and it has got plugins already build and they allow other to contribute to their project. 这个看起来很有趣,并且已经构建了插件,并且允许其他人为他们的项目做贡献。

Here you've got a comparision of CMS's build on nodejs http://y-designs.com/blog/node-cms-comparison-2015/ 在这里,您可以对CMS在nodejs上的构建进行比较http://y-designs.com/blog/node-cms-comparison-2015/

I think it is a good place to start to see how other sorted out the problem. 我认为这是一个开始看看其他人如何解决问题的好地方。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM