所以我在前端使用 JS,为客户构建一些东西。细节不是很重要,只是我无权访问节点。
我正在使用 unpkg 在浏览器中包含各种 NPM 包(例如 React/ReactDOM/Babel)。这些软件包具有 UMD 构建,因此它们可以开箱即用。
但是,我想使用一些没有 UMD 构建的包(即 react-dates 或 react-datepicker)。我尝试通过 unpkg 提供不同的文件并引用导出的模块。由于他们没有 UMD 构建,我会得到一个module is not defined
有意义的错误,或者我正在引用的模块DatePicker is not defined
.
所以我想也许我可以用 browserify 构建一个文件,但我以前从未使用过它,而且我能找到的任何文档都缺乏。这是我所做的
var DatePicker = require("react-dates");
在名为 test.js 的文件中,然后:
browserify test.js -o bundle.js
输出,将其上传到客户端资产,像这样引用它:
<script src="/js/bundle.js"></script>
但是var DatePicker = require("DatePicker")
会抛出错误require is not defined
(我认为那是 browserify 的重点?)并且也会console.log(DatePicker)
抛出错误is not defined
。
在这一点上,我不知所措。我很固执,但我真的只是想使用一个反应日期选择器,并避免为了日期选择器的唯一目的而将 jQuery 添加到这个项目中。据我所知, unpkg 不是一个选项,但我觉得 browserify 可以工作,我只是做错了。
任何帮助是极大的赞赏!