簡體   English   中英

瀏覽器驗證后,客戶端節點模塊不起作用

[英]client-side node module doesn't work after browserify

我正在嘗試在node.js下開發一個應用程序。 我需要一個名為自動完成的模塊,所以我做了

npm install -S autocomplete

而且效果很好。 packages.json已更新,一切packages.json更新。

但是我需要客戶端自動完成功能。 解決此問題的最流行的方法似乎是使用browserify,因此我在全球范圍內安裝了該工具,並且似乎可以正常工作。

現在,根據我閱讀的所有內容,我應該能夠:

cd node_modules
browserify autocomplete/index.js > bundle.js
mv bundle.js ../public/lib/js/

然后在views / index.html中,我應該可以

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

最后我應該可以說

var auto = new Autocomplete();

因為自動完成對象是在自動完成模塊中定義的,這就是說明如何實例化它的方式。

但不幸的是,我的瀏覽器顯示“ Autocomplete is not defined因此顯然沒有收到消息。

上面有什么問題?

運行Browserify時,將其創建為standalone模塊:

browserify autocomplete/index.js --standalone Autocomplete > autocomplete.js

我在這里只是為了簡單起見更改名稱-隨便叫什么。

然后,當您在瀏覽器中以當前方式運行它時, new Autocomplete()應該可用。

編輯盡管這是可行的,但缺少該模塊的文檔,並且您正在閱讀文檔的模塊似乎缺失。

當您可以使用已經為瀏覽器內置的諸如typeahead東西時,就不必麻煩了。

事實證明,因為“自動完成”未導出到全局范圍。 在使用自動完成功能的文件中嘗試此操作,例如在app.js中:

var Autocomplete = require('autocomplete');
var auto = new Autocomplete();

然后

browserify app.js > bundle.js
mv bundle.js ../public/lib/js/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM