Node.js 浏览库而不是文件

Node.js 浏览库而不是文件,node.js,npm,browserify,Node.js,Npm,Browserify,我正在尝试在浏览器中使用npm库。以npm库为例,目前,我们需要首先在本地编写使用uniq的代码: // main.js var unique = require('uniq'); var data = [1, 2, 2, 3, 4, 5, 5, 5, 6]; console.log(unique(data)); 然后,我们需要在控制台中运行browserify: browserify main.js -o bundle.js 现在,我们可以在html文件中使用它: <scri

我正在尝试在浏览器中使用npm库。以npm库为例,目前,我们需要首先在本地编写使用
uniq
的代码:

// main.js
var unique = require('uniq');    
var data = [1, 2, 2, 3, 4, 5, 5, 5, 6];
console.log(unique(data));
然后,我们需要在控制台中运行
browserify

browserify main.js -o bundle.js
现在,我们可以在html文件中使用它:

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

所以你想让npm包的变量成为全局变量?!使用:

安装: 用法: 然后在html中:

<script src="uniq.js"></script>    
<script>
  var d = [1, 1, 2, 3];
  console.log(uniq(d));
</script>

VarD=[1,1,2,3];
控制台日志(uniq(d));
注意应避免污染全球范围。以这种方式编写代码是有害的。browserify不仅可以让您的代码浏览器就绪,还可以帮助您编写干净的(不会污染全局窗口范围)、模块化的(CommonJS或ES6方式)和未来的证明(编写ES6并在捆绑时间传输),并且您的应用程序只需一个对bundle.js文件的http请求即可就绪


<>如果每次更改代码时运行BuffsiI化,困扰你,你可以考虑使用<强> <强>;它会根据您在文件中所做的每一次更改自动重新生成捆绑包。

谢谢您。。。请看我的更新。此外,我们在开始时还需要在控制台中使用
globalify
。是否有一种方法可以自动将任何(或大部分)npm node.js库与浏览器兼容?我不知道如何在服务器或浏览器中自动执行此
globalify
命令(它依赖于控制台…@SoftTimur,似乎您的节点不支持ES2015语法,请检查您的节点版本:
node-v
。如果节点版本低于
v5.0.0
,则应升级
globalify
此外,cmdline还具有一个API。您可以需要它并运行
globalify()
来完成它的工作。只需将所需包的数组循环到它们上面,并将其逐个提交给
globalify()
,然后将它们写入磁盘。见:
/tmp/client$ globalify uniq -o uniq.js
/usr/local/lib/node_modules/globalify/node_modules/camelcase/index.js:4
    let isLastCharLower = false;
    ^^^
SyntaxError: Unexpected strict mode reserved word
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/globalify/globalify.js:7:17)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
npm install globalify -g
globalify uniq -o uniq.js
<script src="uniq.js"></script>    
<script>
  var d = [1, 1, 2, 3];
  console.log(uniq(d));
</script>