Простой способ использования узловых модулей при работе в браузере - использовать browserify .В вашем рабочем каталоге:
npm install wink-naive-bayes-text-classifier --save
npm install -g browserify
Вы должны будете переместить свой код в отдельный файл сценария, скажем, process-data.js
.И из вашего HTML вы включите другой скрипт - bundle.js
(мы подойдем к этому в конце):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test Naive Bayes</title>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="./papaparse.min.js"></script>
</head>
<body>
<input type="file" id="csv-file" name="files"/>
<script src="bundle.js"></script>
</body>
</html>
В вашем process-data.js
теперь вы можете просто require
библиотека, как показано в ее документации .
// REF: https://www.joyofdata.de/blog/parsing-local-csv-file-with-javascript-papa-parse/
// http://archive.is/ySSC8
// Load Naive Bayes Text Classifier
var Classifier = require( 'wink-naive-bayes-text-classifier' );
// Instantiate
var nbc = Classifier();
var data;
function handleFileSelect(evt) {
var file = evt.target.files[0];
Papa.parse(file, {
header: true,
dynamicTyping: true,
complete: function(results) {
data = results;
// You can now use nbc and data :)
// nbc.learn(data[0]);
}
});
}
$(document).ready(function(){
$("#csv-file").change(handleFileSelect);
});
Наконец, для создания файла bundle.js
вы запустите browserify:
browserify process-data.js -o bundle.js
Thisобъединит все необходимые вам модули в файл, который вызывает ваш HTML.Если вы не хотите каждый раз печатать так много, вы можете добавить скрипт npm .