首页 > 解决方案 > 我应该如何在 NPM 模块中链接?

问题描述

我正在更新我所有的 CSS 和 JS 库,但我想确保这次我以正确的方式进行操作。让我们以 jQuery 为例。首先,我使用 NPM 安装。

$ npm i jquery # from project root

然后,我创建要包含在我的静态目录中的符号链接。

$ cd home/static/lib/js # also from project root
$ ln -s ../../../../node_modules/jquery/dist/jquery.js
$ ln -s ../../../../node_modules/jquery/dist/jquery.min.js

接下来,在同一个js目录中,我生成哈希和。

$ openssl dgst -sha384 -binary jquery.js | openssl base64
/LjQZzcpTzaYn7qWqRIWYC5l8FWEZ2bIHIz0D73Uzba4pShEcdLdZyZkI4Kv676E
$ openssl dgst -sha384 -binary jquery.min.js | openssl base64
ZvpUoO/+PpLXR1lu4jmpXWu80pZlYUAfxl5NsBMWOEPSjUn/6Z/hRTt8+pR6L4N2

最后,我添加到我的 Django 模板 (HTML) 的头部。

<head>
  <!-- jQuery JS (compressed) -->
  <script
    src="{% static 'lib/js/jquery.min.js' %}"
    integrity="sha384-ZvpUoO/+PpLXR1lu4jmpXWu80pZlYUAfxl5NsBMWOEPSjUn/6Z/hRTt8+pR6L4N2"
  ></script>

  <!-- jQuery JS (uncompressed) -->
  <!-- <script
    src="{% static 'lib/js/jquery.js' %}"
    integrity="sha384-/LjQZzcpTzaYn7qWqRIWYC5l8FWEZ2bIHIz0D73Uzba4pShEcdLdZyZkI4Kv676E"
  ></script> -->
</head>

我注释掉未压缩的文件以加快页面加载速度,但我将静态 URL 留给开发人员查看。它托管在服务器上,但不包含在 head 标签中。

有没有我遗漏的步骤?我应该包含指向 CDN 的外部链接吗?我是否应该实际包含压缩文件而不仅仅是评论?

任何澄清都是有帮助的。

标签: htmldjangonpm

解决方案


推荐阅读