由于我的日常工作项目的治理限制,我无法使用很多漂亮的新JS库和框架。因此,对于MVP,我们使用vanilla JS直接(非缩小)加载到客户端(粗略)。虽然这是向管理层展示不是最佳方法的好方法,但我仍然需要把它拿出来。但是,我们确实在我们的开发机器上安装了NPM和Node,并且我想使用它来优化我们的JS到一个组合的bundle,并使用哈希来打破缓存。
我的问题是我如何收集一堆不相交的JS文件并将它们添加到一个新的NPM项目中进行缩小,同时避免使用webpack / prettify来修改预期的变量,对象和函数?
我尝试将js文件复制到src目录中,然后添加正常的导入/导出行,但是我在控制台中收到了一堆“未找到标识符”消息,所以我觉得很多东西都搞定了错位。
我有一些使用create-react-app进行React方面项目的经验,但不幸的是,这使我免受项目设置困难的困扰,现在我为缺乏经验付出了代价。
编辑:为了更简洁,我正在尝试将一堆现有的js文件打包到一个包中,同时保持相同的界面。如果无法做到这一点,请告诉我。否则,一个开始的地方将是理想的。
答案 0 :(得分:1)
在浏览器之前的几天,babel,webpack,grunt,gulp ......我们只是连接文件并缩小它们。由于文件将其API作为全局对象公开,因此所有内容都保持正常运行,就像包含不同脚本标记的文件一样。
在Linux上你可以这么做
cat a.js b.js c.js | uglifyjs -cm > bundle.js
文件通常以分号开头,以确保在连接它们时没有任何中断。
配置babel后,集成就像
一样简单cat a.js b.js c.js | babel | uglifyjs -cm > bundle.js