【问题标题】:How to"permanently install" a scripting library into a web?如何将脚本库“永久安装”到网络中?
【发布时间】:2017-07-11 23:05:44
【问题描述】:

现在我正在关注 Mojs 教程,并且玩了一点之后,我发现分别通过 npm install 和 npm uninstall 安装和卸载 Mojs 没有任何区别 - 如果我有超链接

  <script src="http://cdn.jsdelivr.net/mojs/latest/mo.min.js"></script>

在我的 html 文件中,脚本可以工作,如果我删除它 - 它会停止,无论我是否通过 npm 安装了 Mojs。如何理解它?

【问题讨论】:

  • 脚本从cdn.jsdelivr.net加载。它与您的服务器上发生的事情没有任何关系。您通过npm 安装的是您的nodejs 将使用的模块

标签: javascript node.js npm npm-install npm-scripts


【解决方案1】:

Node 只是一个 javascript 运行时。您可以使用它在浏览器之外运行 Javascript 代码。它不会自动将任何脚本文件放入您的 html 中。 Node Package Manager (npm) 是获取包和模块(例如 Mojs)的有用工具,但它们必须在单独的 js 文件中“必需”,使用 requireimport

如果您曾经使用过 Python,请将 Node 视为 Python,将 npm 视为 pip,您必须先运行 pip install 才能“导入”模块。

使用 node,您可以通过键入 node file.js 来运行任何 js 文件,类似于使用 python file.js 运行 python 脚本的方式。

当你使用npm install 安装一个包时,会创建一个 node_modules 目录,并在模块名称的文件夹下安装一大堆(通常)javascript文件,所以如果你想手动包含文件,你应该去那里找到它。

我建议这个introduction to Nodejs

【讨论】:

    【解决方案2】:

    您发布的脚本标签正在使用指向 cdn(内容交付网络(我认为))的 url。这意味着当它尝试加载脚本标签时,它会查看 url,然后从 cdn 服务器获取数据并将其返回给浏览器。

    除非您使用 webpack 或 browserify 之类的东西,否则您通过 npm 安装的文件通常不适用于您的前端代码。他们将从节点捆绑您正在使用的所有文件,并允许它们在浏览器中可用。

    所以,是的,您安装或卸载该软件包不会影响应用程序是有道理的。

    【讨论】:

      猜你喜欢
      • 2019-08-10
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 2019-07-12
      • 2012-02-16
      • 1970-01-01
      相关资源
      最近更新 更多