Tag: 插件

节点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 […]

自定义的咕task任务命名约定

有没有关于命名包含多个单词的自定义任务的任何约定? 例如: grunt-json-schema grunt插件有json_schema任务 。 一个名称包含破折号( – ),另一个名称包含下划线( _ )。 显然,dashed-name不能用作JavaScript对象键: grunt.initConfig({ json-schema: { // WON'T work 他们必须用引号括起来: grunt.initConfig({ 'json-schema': { // will work 我检查了所有官方插件( grunt-contrib-* ),但它们都只包含一个单词。 造成这个问题的动机很简单:我只是想遵循惯例。

webpack 2和stylus-loaderconfiguration文件的例子

我坚持得到手写笔与webpack 2一起工作。我试图将手写笔加载模块添加到我的webpack.config,但是我不知道如何做到这一点。 我不是,我没有阅读文档: https://github.com/shama/stylus-loader 乍一看这个例子代码看起来像一块蛋糕(请记住,我在这里说Webpack 2,而不是Webpack 1): module: { rules: [ { test: /\.styl$/, use: [ 'style-loader', 'css-loader', { loader: 'stylus-loader', options: { use: [stylus_plugin()], }, }, ], } ], }, 这里的问题是stylus_plugin函数,根据文档,需要通过以下方式进行要求: var stylus_plugin = require('stylus_plugin'); 但是,在npm repo中不存在像stylus_plugin这样的npm模块。 所以,也许有人可以帮助我在webpack上运行铁笔,也许有人甚至可以提供一个configuration的例子。 附录,2017年2月9日。这适用于我(使用手写笔): module: { rules: [{ test: /\.styl$/i, use: [ 'style-loader', 'css-loader', 'stylus-loader' ] }] } 为了明确起见:每个单独的加载器代表一个单独的插件。 […]