我目前正致力于为网站添加基于React的部分。数据需要实时更新,而不需要使用jQuery等代码复杂化。我使用React与pub / sub系统一起使用Node和Socket.io来检索更新,但是,Node仅用于更新数据。 Node不会访问React页面,而是Apache访问。我在开发版本中包含了React,ReactDOM和独立版本的Babel。
所以,我的问题是如何将我的React组件分离成.js文件并在Node中需要它们?
我查看了RequireJS和Browserify,但他们似乎并没有完成任务。我需要一种可以编辑的方法,并在开发环境中将它们分开包含,但是它们需要在实时自动化上进行简化和缩小。我们的构建过程已经使用了Jenkins,所以如果有一个可以挂钩Jenkins的解决方案,那将是最佳的。
答案 0 :(得分:0)
我建议使用webpack捆绑您的JavaScript代码,这是一个基于Node.js的构建工具,可以让您轻松地连接和缩小代码。您在项目根目录中创建webpack.config.js文件,并使用 node webpack 在Jenkins构建代理程序上运行它。
答案 1 :(得分:0)
正如Patrick Hund已经建议的那样,你应该使用模块捆绑器。有几个选项,但我使用 - 像Patrick Hund - webpack。
webpack实际上做了什么?
它加载您指定的所有文件 - 这些文件大多是项目中所需的文件 - 并将它们捆绑到一个文件中。
如何使用?
您需要一个配置文件,其中主要指定三件事:
您还可以指定插件,以启用例如热模块替换,启动捆绑过程的仪表板等。但这不是强制性的,要启动,您可能不需要此。
太多了?
现在,如果您不得不在每次更改时不断重新收集所有文件,那么您可能会认为这对开发来说太多了。但是它附带了一些预先构建的脚本,其中包含一个<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.chandan.halo.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
选项,可以为您完成此操作,更方便的是热模块替换,它可以在每次更改时更新浏览器,而无需刷新它。
对于生产环境,您可以创建另一个配置文件,您可以在其中保留所需的内容(例如,不建议将Hot Module Replacement用于生产),就是这样。
所以这一切都归结为这些配置文件。你可以看看this one,这是我以前理解的,因为它被缩小到我刚刚告诉你的内容。
要将它集成到您的项目中,您需要匹配加载js脚本和输出文件的watch
文件,并且出于开发目的,您可能希望使用开发服务器,它可以是webpack-dev-server。