使用npm和vanilla js

时间:2017-08-01 15:31:13

标签: javascript npm ecmascript-5

由于我的日常工作项目的治理限制,我无法使用很多漂亮的新JS库和框架。因此,对于MVP,我们使用vanilla JS直接(非缩小)加载到客户端(粗略)。虽然这是向管理层展示不是最佳方法的好方法,但我仍然需要把它拿出来。但是,我们确实在我们的开发机器上安装了NPM和Node,并且我想使用它来优化我们的JS到一个组合的bundle,并使用哈希来打破缓存。

我的问题是我如何收集一堆不相交的JS文件并将它们添加到一个新的NPM项目中进行缩小,同时避免使用webpack / prettify来修改预期的变量,对象和函数?

我尝试将js文件复制到src目录中,然后添加正常的导入/导出行,但是我在控制台中收到了一堆“未找到标识符”消息,所以我觉得很多东西都搞定了错位。

我有一些使用create-react-app进行React方面项目的经验,但不幸的是,这使我免受项目设置困难的困扰,现在我为缺乏经验付出了代价。

编辑:为了更简洁,我正在尝试将一堆现有的js文件打包到一个包中,同时保持相同的界面。如果无法做到这一点,请告诉我。否则,一个开始的地方将是理想的。

1 个答案:

答案 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

https://babeljs.io/docs/usage/cli/