React Native 打包.jsx文件
最近在研究React Native。感觉开发效率确实不错,但jsx语法写起来感觉不怎么顺手。
试用了Sublime Text 3和Visual Studio Code写代码,感觉反应总是慢一拍。
还是想换回VS2015写jsx,但用VS写jsx好像只能在后缀为.jsx的文件里面写。(不知道VS有没有直接设置在js里写jsx的方法)
于是翻了下react-native的打包程序,改了下让打包程序能自动打包.jsx文件。
贴出修改方法,习惯能VS的可以试着改下
1.项目主文件夹\node_modules\react-native\packager\react-packager\src\Server\index.js
找"var watchRootConfigs = opts.projectRoots.map(dir => {"这段,加上'.jsx'
var watchRootConfigs = opts.projectRoots.map(dir => { return { dir: dir, globs: [ '**/*.js', '**/*.json', '**/*.jsx', ].concat(assetGlobs), }; });
2.项目主文件夹\node_modules\react-native\packager\react-packager\src\DependencyResolver\DependencyGraph\index
0.22版使用的是node-haste在\node_modules\react-native\node_modules\node-haste\lib\index
找"this._crawling = crawl(allRoots, {"加段,同样加上'jsx'
this._crawling = crawl(allRoots, { ignore: this._opts.ignoreFilePath, exts: ['js', 'jsx','json'].concat(this._opts.assetExts), fileWatcher: this._opts.fileWatcher, });
3.项目主文件夹\node_modules\react-native\packager\react-packager\src\DependencyResolver\DependencyGraph\ResolutionRequest.js
0.22版在\node_modules\react-native\node_modules\node-haste\lib\DependencyGraph
找"if (this._fastfs.fileExists(potentialModulePath)) {"改成
let file; let exts=["", this._platform?('.' + this._platform + '.js'):null, '.js', '.json', '.jsx']; for(let c=0;c<exts.length;c++){ if(null!=exts[c] &&this._fastfs.fileExists(potentialModulePath + exts[c]) &&(file = potentialModulePath + exts[c])) break; } if(!file){ throw new UnableToResolveError( fromModule, toModule, `File ${potentialModulePath} doesnt exist`, ); } //以下为原来的代码 //if (this._fastfs.fileExists(potentialModulePath)) { // file = potentialModulePath; //} else if (this._platform != null && // this._fastfs.fileExists(potentialModulePath + '.' + this._platform + '.js')) { // file = potentialModulePath + '.' + this._platform + '.js'; //} else if (this._fastfs.fileExists(potentialModulePath + '.js')) { // file = potentialModulePath + '.js'; //} else if (this._fastfs.fileExists(potentialModulePath + '.json')) { // file = potentialModulePath + '.json'; //} else { // throw new UnableToResolveError( // fromModule, // toModule, // `File ${potentialModulePath} doesnt exist`, // ); //}
改成后再运行 react-native start就可以自动打包后缀为.jsx的文件了。
React Native 打包.jsx文件的更多相关文章
- [RN] React Native 打包时 减少 Apk 的大小
React Native 打包时 减少 Apk 的大小 主要有两个方法: 在打包前设置 android\app\build.gradle 文件中 1) def enableProguardInRele ...
- React Native之APK文件签名及打包
生成apk签名文件 我们使用android studio的方式进行签名 AS工具栏找到并点击 build->gennrate signed apk 两种情况: 1.这里如果已经有签名文件了则直接 ...
- react native 之上传文件
最近遇到react native中需要上传一些图片到后台.期间,找了一些第三方上传插件,感觉不太好用,要么只支持一个平台,要么会对其他第三方造成影响,实在无奈.只能直接使用fetch上传.其中上传文件 ...
- react native 打包至iphone设备
1.新建bundle 在自己项目的ios文件夹下新建一个文件夹取名bundle PS:ios文件夹和node_modules文件夹在同一级目录下,这个bundle文件夹名称随意取,后面要用到,但是记得 ...
- React Native 打包 Apk
第一步:生成秘钥库 keytool -genkey -v -keystore opsmart-android-release-key.keystore -alias opsmart-android - ...
- react native 的js 文件从哪里获取
/** * Loading JavaScript code - uncomment the one you want. * * OPTION 1 * Load from development ser ...
- react native 打包上架
https://www.jianshu.com/p/ce71b4a8a246 react-native bundle --entry-file index.ios.js --platform ios ...
- react native 打包Ignoring return value of function declared with warn_unused_result attribute
从 github上下载 项目 用于学习查看别人的代码, 当执行完npm install 用xcode 打开 发现俩个错误提示Ignoring return value of function dec ...
- [React Native] 解析JSON文件
在编写代码时,开发者有时需要存储一些比较多,在应用程序运行时不需要更改的数据.文件大不便于写在代码中,可以把这些数据存储到JSON文件中. 优点非常明显: 1. 数据存放在单独的文件中,代码精简有条理 ...
随机推荐
- C#的四种Timer介绍
一.Timer的几个类别 1.System.Threading.Timer 2.System.Timers.Timer 3.System.Windows.Forms.Timer 4.System.Wi ...
- ASP.NET MVC 提示there was error getting the type的解决方法
在MVC中根据模型类创建控制器时提示there was error getting the type的原因是你新建的这个类模型文件后没有重新生成,先重新生成项目就可以添加控制器了.
- vim添加未识别文件类型
这里用.c的文件格式来识别.nc文件 $ cd ~/.vim/ftdetect $ vim nc.vim # nc.vim内容 # au BufRead,BufNewFilE *.nc set fil ...
- MFC编程入门之二十(常用控件:静态文本框)
上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...
- 把excel导入的自定义时间改成yyyyMMdd
public static String changeCellToString(XSSFCell cell){ String result = "";// Object value ...
- webpack + react + es6, 并附上自己碰到的一些问题
最近一直在学react,react的基础部分已经学得差不多了,然而自己并没有做详细的记录,有兴趣的同志可以参考阮一峰老师的教程,个人觉得挺不错的,链接如下:https://github.com/rua ...
- HTCondor安装
192.168.30.253 master cd /etc/yum.repos.dwget http://research.cs.wisc.edu/htcondor/yum/repo.d/ht ...
- C#: DataBase
using System.Data.SqlClient; namespace WindowsFormsApplication1{ class DB { private SqlConnection co ...
- MySQL wamp密码修改
WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车 ...
- 发生tcp丢包(拥堵、超时)重传
可以根据wireshark的Seq序列号和Ack序列号来进行详细分析. 可见,网络丢包(可能是网络拥堵.也有可能是骨干网上有"防火墙"故意随机丢包,因为这个服务器的IP放在国外)对 ...