【发布时间】:2016-05-21 13:29:11
【问题描述】:
我在以前项目的文件中有一些旧的自定义 javascript 对象,我想在使用 React 0.14.x 和 ES6 约定构建的新项目中导入和使用这些对象。有太多的旧代码,我不想触及其中的任何一个。它看起来像下面这样:
myCustomObjectOne.js:
function myCustomObjectOne() {
this.some_attribute = '';
this.another_attribute = [];
etc.
}
myCustomObjectOne.prototype.someMethod = function() {
// do stuff
};
有一些类似模式的文件定义了其他自定义对象。
我是否可以将这些文件放在某个地方,然后在我的一个 React 组件文件中执行以下操作:
import myCustomObjectOne from '/path/to/file/myCustomObjectOne.js'
import myCustomObjectTwo from '/path/to/file/myCustomObjectTwo.js'
另外,假设在我的旧项目中,我使用了paperjs 或任何第三方库。我指的是myCustomObjectOne.js 中该库中的全局对象,例如,进行paper.activate() 之类的调用。但是,在我的新项目中,我只有一个包清单,其中包含 paperjs 作为依赖项,它与 webpack 捆绑在一起,并且在我拥有的 React 组件中:import paper from 'paper';。我的旧文件不再能够访问全局 paper 对象,因为之前我只是将供应商文件包含在 <script> 标记中。
我是不是把事情弄得太复杂了?我是否应该尝试导入/捆绑我的旧文件,而应该在我的 html 文件中添加 <script> 标签并将旧文件与我的 React 代码完全分离?我的旧 JS 对象不是视图,也不是真正与 DOM 交互,它们几乎只是操纵第三方库(而第三方库又是自包含在一个画布元素中)。
【问题讨论】:
标签: import reactjs ecmascript-6 webpack paperjs