Javascript 如何在angular应用程序中组装js LIB

Javascript 如何在angular应用程序中组装js LIB,javascript,angularjs,node.js,build,gulp,Javascript,Angularjs,Node.js,Build,Gulp,我正在启动我的第一个angular2应用程序。 我开始学习像nodejs、gulp等工具 我有一个nodejs服务器,它提供服务器和前台服务 对于前面的内容,我有html、css、资源和我的js文件。 为了使用angular,我在node_模块中拥有所有必需的依赖项 我对gulp的typescripts管理很满意。 我已经成功地将我的app js文件连接到一个“build”目标文件夹中 现在,我想在那里复制我的libs/dependencies,这样我的index.html将有两个脚本,包括:m

我正在启动我的第一个angular2应用程序。 我开始学习像nodejs、gulp等工具

我有一个nodejs服务器,它提供服务器和前台服务

对于前面的内容,我有html、css、资源和我的js文件。 为了使用angular,我在node_模块中拥有所有必需的依赖项

我对gulp的typescripts管理很满意。 我已经成功地将我的app js文件连接到一个“build”目标文件夹中

现在,我想在那里复制我的libs/dependencies,这样我的index.html将有两个脚本,包括:myapp.js和类似libs.js的东西(缩小的角度,可能还有任何其他libs)

我找不到这样做的方法。我在webpack中得到了一个结果,但它缩小了libs.js文件中的所有应用程序,我希望我的应用程序分开,以便我可以在非缩小js for dev模式下调试它

有没有办法从node_模块中提取应用程序所需的lib,缩小它们,并将它们压缩到一个紧凑的libs.js中

当我解析node_模块时,它是一个巨大的存储库(主要是由于服务器依赖于gulp、mocha等东西,对前端没有任何用处),我非常确定,使用所有node_模块/***.js和concat不是一个好主意

感谢您的回复。

您可以使用。它允许您像在node.js中一样使用
require()
函数。还有一个问题

例如,如果您想使用lodash,首先运行
npm install--save lodash
,然后在javascript中您将拥有:

var _ = require('lodash');
// from here you can use lodash like normal
这些文件既可以由节点服务器编译,也可以由gulp预编译

编译后,这些文件将与您使用
require()

编辑 要回答您的评论,如果您想导出一个单独的文件,其中只包含库,您可以这样做

libs.js app.js index.html


但就我个人而言,我更喜欢只有一个文件,所有东西都捆绑在一起。

您只需从npm包中获取所需的js/css文件,并在index.html文件中添加对它们的引用,您不需要为此创建一个gulp任务。这意味着在前端html中有对
node_modules
文件夹的引用:此文件夹不可用,我发现这是一种不好的做法。我需要将所有必需的js/css复制到
build
文件夹。将库签入VCS是一种不好的做法,但从
node\u modules
目录中引用index.html中的文件一点也不“坏”。我正在尝试浏览。我可以排除一些软件包,但它仍然打包应用程序本身。我现在仍然找不到一种方法,一方面是
libs.js
,另一方面是我的
app.js
window._ = require('lodash');
window.$ = require('jquery');
// any other library
// here you can use the libraries like normal
console.log(_);
console.log($);
<script type="text/javascript" src="js/libs.js"></script>
<script type="text/javascript" src="js/app.js"></script>