对于我们可以在 Github 上找到的许多 JS 库,现在不可能通过执行以下操作直接在客户端项目中使用它们:
<script src="thelibrary.js"></script>
浏览器不会接受 fernet.js 甚至 fernetBrowser.js 中都存在的require
和其他与节点相关的关键字。
我在这里阅读了一些教程,建议安装Node
(带npm
(,然后是browserify
或webpack
,还有转译器等,但在安装任何新软件之前,我通常会确保绝对需要它来很好地理解它是如何工作的。
问:为了能够将使用require
(例如 fernetBrowser.js(将.js转换为可直接在客户端浏览器中加载的.js文件,必须运行多少命令行命令?
在您的示例中,该文件已准备好在浏览器环境中使用,因为它是使用 browserify 构建的,以便复制所有库并将它们映射到它们的路径(例如:'crypto-js/aes'
(。Browserify还添加了一些样板代码,使浏览器能够使用CommonJS语法(require
和module.exports
(。
因此,要回答您的问题,为了使用 CommonJS 导入从文件创建浏览器就绪包,要运行的最少数量的命令是一个,因为唯一要执行的任务是将代码及其依赖项捆绑到单个文件中(+也安装依赖项(:
npm i -g browserify # once for all
npm i
browserify -s fernet fernet.js > fernetBrowser.js
或者,对于生产就绪的文件,您还可以使用缩小器,如 Terser,以便提供更小的 JavaScript 文件(并同时混淆您的代码(。
如果要捆绑多个JS文件,这里有一个答案:将多个文件浏览器化为单个捆绑包