Articles of 插件

编写和组织javascript插件的最佳做法是什么?

所以我有很多不同的javascript文件是相同的代码块,但我偶尔不得不更新,由于path的变化或其他各种条件。 现在复制并粘贴到新的文件工作正常,但恼人的执行。 有没有一种很好的方法来维护一个JavaScript文件与我的“插件”代码,并让它可以通过使用插件的其他JavaScript文件访问? 我正在寻找一个好的nodejs解决scheme和vanilla js解决scheme。 如果可以相互分享,那将是理想的,但不是以任何方式要求的。 理想情况下,我想在workspace/托pipe我的工作区,并有一些文件夹, workspace/front-end-js/和workspace/back-end-nodejs/ ,能够在workspace/plugins/插件运行代码我可以执行像MyPluginVar.Foo(); 我知道一些系统,如节点的var foo = require('bar'); 和前端浏览版本,但真的不知道我所有的select。 什么是编写和组织JavaScript插件的最佳方式? – 编辑:我真的想避免npm,但它可能是最好的select。

如何将自定义插件添加到KeystoneJSpipe理界面?

有没有一种方法可以将自定义插件添加到KeystoneJs Admin UI,而不会太多地干扰源代码。

节点js插件的权限

我使用Sails.js创build了一个Web服务器,并希望允许第三个开发人员创build可从网页(商店)安装的node.js插件。 我的问题是我不希望这个插件需要帆(或其他关键模块),并有权访问数据库和服务,并做他们想要的。 例如使用fs并删除所有文件。 我怎样才能做到这一点 ? 我不知道如果node.js可以locking一些脚本在这个自己的目录

如何将当前工作目录设置为primefaces中的项目根目录?

在primefaces中, process.cwd()总是返回'/' 。 所以,如果我做了像fs.readFile('myfile')那样的东西,它找不到文件。 'myfile'在primefaces打开的项目的根目录中。 显然我不能硬编码的绝对path。 我如何实现它?

在一个咕噜插件,我如何得到一个数组的全局和目标指定选项的组合?

我正在写一个具有可以是数组值的选项的grunt插件。 这些值具体是文件(不同于任务本身的文件属性中指定的文件)。 我的任务设置可能如下所示: grunt.initConfig({ assemble: { options: { data: ['test/common/data/common1.json', 'test/common/data/common2.json'] }, dev: { options: { data: ['test/dev/data/dev.json'] }, files: { 'test/actual': ['test/files/dev.hbs'] } }, prod: { options: { data: ['test/prod/data/prod.json'] }, files: { 'test/actual': ['test/files/prod.hbs'] } }, } }); 在我的插件中,我希望能够获得全局选项和目标选项中指定的所有文件列表的数据选项。 对于开发目标grunt assemble:dev我会看到这this.options.data ['test/common/data/common1.json', 'test/common/data/common2.json', 'test/dev/data/dev.json'] 对于prod目标grunt assemble:prod我会在this.options.data看到这this.options.data ['test/common/data/common1.json', 'test/common/data/common2.json', 'test/prod/data/prod.json']

Webpack:找不到模块:错误:无法parsing模块browser.js

我正在尝试webpack与反应。 我正在尝试使用babel-loader来传输jsx文件。 我使用任何webpack加载器/插件时收到模块找不到错误。 我在node_modules中安装了所需的插件。 这个问题似乎与path决议。 不知何故,它解决依赖插件时,我的当前目录prepends绝对path。 这是我的webpack.config.js的片段 module: { loaders: [{ test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, loader: 'babel', // 'babel-loader' is also a legal name to reference query: { presets: ['react', 'es2015', 'stage-0'], plugins: ['react-html-attrs', 'transform-class-properties', 'transform-decorators-legacy'] } }] } 当我运行webpack (全局以及通过npm)时,它会给出以下错误: ERROR in ../~/react/lib/ReactDOMNullInputValuePropDevtool.js Module not found: Error: Cannot resolve module '\\users\home\smeghani\private\codebase\react-demo\node_modules\process\browser.js' in H:\codebase\react-demo\node_modules\react\lib resolve […]

为什么考虑没有自己的插件来支持cookies?

我喜欢restify ,它有很多粉丝,但是为什么它没有自己的插件来支持cookies? 也许我不知道什么,使用REST架构时不需要使用cookies? 也许为了这个目的使用不同的方法? 是否有可能已经有一个stream行的模块Node.js,可以轻松地整合restify?

在本地创build一个gitbook插件而不发布它

我想学习编写gitbook插件(因为我想使用它,将需要自定义插件)。 不过,我觉得文档在这个问题上有点稀疏,从现有的插件中读取代码在这个问题上帮不了我的忙: 如何在发布之前testing一个插件。 文档给出了一些关于插件如何查看的提示,然后告诉我发布它。 当然,我不想这样做,我想在发布前在本地进行开发和testing。 但我不明白怎么做。 我尝试在/usr/lib/node_modules/gitbook-cli/node_modules/下复制已安装的插件来创build我的新插件,但是当我试图在书中使用插件时,出现错误消息,告诉我要通过npm 安装插件。 有没有办法使用插件(用于testing,或者一般),而不是首先发布在NPM?

Hapi.js按顺序加载插件

我是Hapi.js的新手,我试图弄清楚如何在Hapi.js安装程序中加载插件。 例如:我有2个插件Plugin1和Plugin2 。 可以说Plugin2依赖于Plugin1 ,直到Plugin1执行才能运行。 看起来像加载这些插件在2个独立的server.register方法或一个server.register(与插件数组)似乎是在并行执行插件代码… 所以,有人可以帮我,我怎么才能加载插件顺序…先谢谢了

Node.JS的插件系统

我目前正在使用Express来处理Node.JS中的一个大型应用程序。 我希望能够做到即插即用,所以我开始编写我自己的小插件系统,其文件结构如下所示: root/ | plugins.json # configures all plugins | plugins # contains all plugins | | MyPlugin # contains MyPlugin | | | MyPlugin.js # defines Application hooks for MyPlugin | | | … MyPlugin/当然也包含路由,控制器,视图,特定的资源等。 app将调用MyPlugin实例的标准挂钩是: moduleInit(app) # before starting the server or module has been loaded (if server is already running at module […]