Javascript 在已安装的专用模块中进行捆绑?

Javascript 在已安装的专用模块中进行捆绑?,javascript,node.js,module,webpack,webpack-2,Javascript,Node.js,Module,Webpack,Webpack 2,所以我在下一个项目中采用了模块化JS方法,所有这些对我来说都是一个全新的过程。 由于我目前的经验有限,我希望能把事情简单化 所以我在npm上有我的私人套餐: @name/package-name 现在,我的私有包包含几个带有导出的JS文件,以在开发期间保持模块化和干净 我在新项目中使用此软件包: npm i @name/package-name -S 我需要使用诸如webpack、requireJS等加载程序/捆绑程序从我的node_模块获取我的包: var test = require('

所以我在下一个项目中采用了模块化JS方法,所有这些对我来说都是一个全新的过程。 由于我目前的经验有限,我希望能把事情简单化

所以我在npm上有我的私人套餐:

@name/package-name
现在,我的私有包包含几个带有导出的JS文件,以在开发期间保持模块化和干净

我在新项目中使用此软件包:

npm i @name/package-name -S
我需要使用诸如webpack、requireJS等加载程序/捆绑程序从我的node_模块获取我的包:

var test = require('@name/package-name');
...
//use the imported code
因此,这会导致require在其定义的入口点输入mypackage

这就是我困惑的地方。 安装的私有软件包是否应该有一个“entry.js”文件,该文件以前已绑定(来自单独的js文件),以便单个entry文件具有我的新项目中需要运行的所有代码

如果是这样的话,这是否意味着在使用webpack捆绑新项目之前,我在每个模块中运行webpack来捆绑它

谢谢你的建议

安装的私有软件包是否应该有一个“entry.js”文件,该文件以前已绑定(来自单独的js文件),以便单个entry文件具有我的新项目中需要运行的所有代码

您不需要捆绑它,特别是对于Node.js服务器端代码。假设您的模块具有以下文件结构:

node_modules/@name/package-name/index.js
node_modules/@name/package-name/foo.js
node_modules/@name/package-name/bar.js
index.js
包含以下内容:

var foo = require('./foo.js');
var bar = require('./bar.js');
当您从项目中运行
require(“@name/package name”)
时,节点将通过在代码执行时从文件系统加载
index.js
require()
文件来运行
foo.js
bar.js
文件


这个dynamc require链是原因之一:

Ah!比我想象的要简单。也许我把它复杂化了。谢谢你澄清这一点。