示例 - file.js

在這個例子中,我們有一個名為 file.js 的檔案。

假設你必須使用 JavaScript 和 NodeJS 查詢字串模組解析 URL。

要完成此任務,你只需在檔案中插入以下語句:

const querystring = require('querystring'); 
var ref = querystring.parse("foo=bar&abc=xyz&abc=123");

這個片段在做什麼?

首先,我們建立一個查詢字串模組,該模組提供用於解析和格式化 URL 查詢字串的實用程式。它可以使用以下方式訪問:

const querystring = require('querystring'); 

然後,我們使用 .parse() 方法解析 URL。它將 URL 查詢字串(str)解析為鍵和值對的集合。

例如,查詢字串'foo=bar&abc=xyz&abc=123'被解析為:

{  foo: 'bar',  abc: ['xyz', '123']   }

不幸的是,瀏覽器沒有定義 require 方法,但是 Node.js 沒有。

安裝 Browserfy

使用 Browserify,你可以編寫使用 require 的程式碼,方法與在 Node 中使用它的方式相同。那麼,你是如何解決這個問題的?這很簡單。

  1. 第一個安裝節點,隨 npm 一起提供。然後做:

npm install -g browserify

  1. 切換到 file.js 所在的目錄,並使用 npm 安裝我們的查詢字串模組:

npm install querystring

注意: 如果你不更改特定目錄,該命令將失敗,因為它找不到包含該模組的檔案。

  1. 現在使用 browserify 命令遞迴地將從 file.js 開始的所有必需模組繫結到一個名為 bundle.js 的檔案中(或者你喜歡的任何名稱) :

browserify file.js -o bundle.js

Browserify 解析抽象語法樹 for require() 呼叫遍歷你的整個依賴圖

  1. 最後將單個標籤放入你的 html 中,你就完成了!

<script src="bundle.js"></script>

什麼情況是,你得到你的舊 .js 檔案(組合 file.js 即是)和新建立的 bundle.js 檔案。這兩個檔案合併為一個檔案。

重要

請記住,如果你想對 file.js 進行任何更改,並且不會影響程式的行為。只有在編輯新建立的 bundle.js 時,你的更改才會生效

那是什麼意思?

這意味著如果你想出於任何原因編輯 file.js ,更改將不會產生任何影響。你真的要修改 bundle.js 因為它是一個合併 bundle.jsfile.js