javascript - 如何使用带有 require 和模块导出的 npm 包作为普通 JS 库

标签 javascript jquery node.js forms validation

我什至不确定我在这里问的是正确的问题,抱歉,但我认为两个一般问题是:

  • 您需要以什么方式使用 require 等修改 Node.js 包才能用作 HTML 中的纯嵌入式脚本/库?
  • 如何在 JS 中调用类构造函数(?)作为函数来验证表单字段?

我正在尝试使用这个小型 JS 库 NoSwearingPlease (这是一个 npm 包)在没有 Node 或构建系统的环境中 - 所以我只是尝试像 jQuery 或 HTML 中带有脚本和 src 的东西一样调用它,然后通过一个小的内联脚本使用它.

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

  1. 需要以不同的方式调用 JSON 文件(不使用 require 等)
  2. 检查器变量需要重写,同样不需要 require

我尝试使用 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);
});

请停下来。谢谢!

最佳答案

无需修改,当在 Node 外部时,该类只需附加到窗口(全局):

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 - 如何使用带有 require 和模块导出的 npm 包作为普通 JS 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61110536/

相关文章:

javascript - 通过ajax重新加载页面内容时jQuery不起作用

javascript - Firefox 扩展 : How to intercept the requested url conditionally and block it?

javascript - 在 FireFox 中使用 big 3 + jquery 在页面顶部显示图像?

javascript - 获取 $rootScope :inprog error when calling click method of input type file programmatically

javascript - 动态添加 Remove font awesome in to span?

javascript - 正确使用 transitionend 以便在最终 CSS3 过渡完成后运行脚本?

jquery - Meteor:将 jQuery ajax 帖子从 NodeJs 发送到 php

node.js - 与网络相关(Firebase 实时数据库连接)

node.js - 当我们在 npm start 仍在运行(Node.js)时退出命令提示符时,进程会结束并且服务器会停止吗?

javascript - 执行javascript代码时CSS样式不适用