我不确定在这里甚至没有问正确的问题,对不起,但我认为这两个一般性问题是:


您需要以哪种方式使用require等修改node.js包以用作HTML中的普通嵌入式脚本/库?
如何调用JS中的类构造函数(?)作为验证表单字段的函数?


我正在尝试在没有节点或构建系统的环境中使用此小型JS库NoSwearingPlease(这是一个npm包)–因此,我只是想像使用jQuery或带有脚本和src的名称那样来调用它在HTML中使用,然后与小型内联脚本一起使用。

我可以看到要使此工作正常,需要做一些事情:


JSON文件需要以其他方式调用(不使用require等)
checker变量需要重写,再次不需要


我尝试使用jQuery getJSON,但我只是不了解该库的类和作用域位,不足以使用它,我认为:

var noswearlist = $.getJSON( "./noswearing-swears.json" );
function() {
    console.log( "got swear list from inline script" );
  })
    .fail(function() {
      console.log( "failed to get swear list" );
    })
  noswearlist.done(function() {
    console.log( "done callback as child of noswearlist variable" );
    var checker = new NoSwearing(noswearlist);
    console.log(checker);
});


请暂停。谢谢!

最佳答案

无需修改,将类添加到window(全局)之后(在节点外部):



fetch("https://cdn.jsdelivr.net/gh/ThreeLetters/NoSwearingPlease@master/swears.json").then(response => {
    return response.json();
  }).then(data => {
    var noSwearing = new NoSwearing(data);
    console.log(noSwearing.check("squarehead"));
});

<script src="https://cdn.jsdelivr.net/gh/ThreeLetters/NoSwearingPlease@master/index.js"></script>

关于javascript - 您如何将带有需求和模块导出的npm软件包用作纯JS库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61110536/

10-10 13:09