如何在客户端代码中使用节点模块?
我在我的nodejs应用程序中安装了ReactJs模块,所以React出现在node_modules目录中。 但是我不能在客户端javascript中使用它,因为没有参考。
那么添加这样一个参考的最好方法是什么? (当然,我可以手动将react.js脚本复制到脚本文件夹中,并手动添加引用,但会导致代码重复,看起来很难看)
Browserify是您正在寻找的工具。 它需要Node模块并包装它们,以便您可以在客户端JavaScript代码中require()
它们。
来自Browserify的自述文件的示例
鞭打一个文件,
main.js
与一些require()
s在里面。 您可以使用像'./foo.js'
和'../lib/bar.js'
这样'./foo.js'
相对path或像'gamma'
这样'gamma'
模块path来searchnode_modules/
使用节点的模块查找algorithm 。var foo = require('./foo.js'); var bar = require('../lib/bar.js'); var gamma = require('gamma'); var elem = document.getElementById('result'); var x = foo(100) + bar('baz'); elem.textContent = gamma(x);
通过分配到
module.exports
或exports
导出function:module.exports = function (n) { return n * 111 }
现在只需使用
main.js
命令从main.js
开始创build一个包:$ browserify main.js > bundle.js
main.js
所需的所有模块都包含在bundle.js
,使用require()
图recursion遍历。要使用这个包,只需将
<script src="bundle.js"></script>
拖入你的html!