如何在没有express的情况下在节点中使用greenlock模块

问题描述

我一直在尝试使用 Node 的 greenlock.js 模块来尝试获取在 cloudflare 中注册的域的 ssl 证书。

我看过一些关于 greenlock-express 的例子,但是,我想使用这个模块而不需要使用 express。

问题是我在创建 greenlock 对象时出现以下错误

internal/validators.js:120
    throw new ERR_INVALID_ARG_TYPE(name,'string',value);
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
    at validateString (internal/validators.js:120:11)
    at Object.resolve (path.js:980:7)
    at Object.Init._init (/git_reps/greenlock_test/node_modules/@root/greenlock/lib/init.js:128:14)
    at Object.greenlock._create (/git_reps/greenlock_test/node_modules/@root/greenlock/greenlock.js:58:22)
    at Object.G.create (/git_reps/greenlock_test/node_modules/@root/greenlock/greenlock.js:482:15)
    at Object.<anonymous> (/git_reps/greenlock_test/greenlock-test.js:13:27)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14) {
  code: 'ERR_INVALID_ARG_TYPE'
}

我的代码如下,我什至还没有实现任何其他功能,因为它在这里中断:

  1 'use strict'
  2 
  3 const pkg = require ('./package.json');
  4 const Greenlock = require('greenlock');
  5 const acmednsCloudflare = require('acme-dns-01-cloudflare');
  6 
  7 const cloudflaredns01 = new acmednsCloudflare({
  8         token: 'dummyToken',9         verifyPropagation: true,10         verbose: true
 11 });


 13 let greenlock = Greenlock.create({
 14         configDir: './greenlock.d/config.json',15         packageAgent: pkg.name + '/' + pkg.version,16         maintainerEmail: 'maintaner@example.com',17         staging: true,18         notify: function(event,details){
 19                 if('error'=== event){
 20                         console.error(details);
 21                 }
 22         }
 23 });


解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)