你好,
我有一个项目的web使用反应
和本地使用反应本地
和共享一些代码。
react native
正在工作,但是如果我删除web版本正在工作的react native
代码和库,则web版本在同一代码库中不工作。
我认为问题是在webpack
配置,我已经尝试了很多版本,但在鼻涕工作。
要让web启动我使用的服务器,请执行以下操作:
"webpack-dev-server --content-base dist/ --config webpack/web.dev.config.js --port 3000 --inline --hot --colors --historyApiFallback",
我的webpack
配置文件:
const path = require('path')
const webpack = require('webpack')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const autoprefixer = require('autoprefixer')
const extractLess = new ExtractTextPlugin('css/style_webpack.css')
module.exports = {
devtool: 'eval',
entry: [path.resolve(__dirname, '../src/web/index')],
cache: true,
output: {
path: path.join(__dirname, '../dist'),
filename: 'bundle.js',
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
plugins: [
'transform-object-rest-spread',
'transform-class-properties',
],
presets: ['es2015', 'react', 'stage-0'],
},
include: path.resolve(__dirname, '../src')
},
{
test: /\.less$/i,
loader: extractLess.extract([
{
loader: 'raw-loader',
options: {
minimize: false,
sourceMap: false,
},
},
{
loader: 'postcss-loader',
options: {
plugins: function() {
return [autoprefixer('>1%', 'ie 10')]
},
},
},
{
loader: 'less-loader',
options: {
strictMath: false,
noIeCompat: true,
},
},
]),
},
],
},
plugins: [
extractLess,
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('development'),
PLATFORM_ENV: JSON.stringify('web'),
},
}),
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
],
}
还有一些错误:
ERROR in ./~/react-native/Libraries/react-native/react-native-implementation.js Module not found: Error: Can't resolve 'AppRegistry' in 'E:\Proiecte\TransparentResidence\asociatie_frontend\node_modules\react-native\Libraries\react-native' @ ./~/react-native/Libraries/react-native/react-native-implementation.js 69:29-51 @ ./src/native/routes/appNavigator.js @ ./src/reducers/nav/nav.js @ ./src/reducers/index.js @ ./src/configureStore.js @ ./src/web/index.js @ multi ./src/web/index ERROR in ./~/react-native/Libraries/react-native/react-native-implementation.js Module not found: Error: Can't resolve 'AppState' in 'E:\Proiecte\TransparentResidence\asociatie_frontend\node_modules\react-native\Libraries\react-native' @ ./~/react-native/Libraries/react-native/react-native-implementation.js 70:26-45 @ ./src/native/routes/appNavigator.js @ ./src/reducers/nav/nav.js @ ./src/reducers/index.js @ ./src/configureStore.js @ ./src/web/index.js @ multi ./src/web/index ERROR in ./~/react-native-elements/src/searchbar/SearchBar.js Module parse failed: E:\Proiecte\TransparentResidence\asociatie_frontend\node_modules\react-native-elements\src\searchbar\SearchBar.js Unexpected token (14:8) You may need an appropriate loader to handle this file type. | | class SearchBar extends Component { | focus = () => { | this.searchbar.focus(); | }; @ ./~/react-native-elements/src/index.js 16:0-46 @ ./src/native/routes/appNavigator.js @ ./src/reducers/nav/nav.js @ ./src/reducers/index.js @ ./src/configureStore.js @ ./src/web/index.js @ multi ./src/web/index ERROR in ./~/react-native-elements/src/card/Card.js Module parse failed: E:\Proiecte\TransparentResidence\asociatie_frontend\node_modules\react-native-elements\src\card\Card.js Unexpected token (37:4) You may need an appropriate loader to handle this file type. | fontFamily, | imageProps, | ...attributes | } = props; | @ ./~/react-native-elements/src/index.js 24:0-31 @ ./src/native/routes/appNavigator.js @ ./src/reducers/nav/nav.js @ ./src/reducers/index.js @ ./src/configureStore.js @ ./src/web/index.js @ multi ./src/web/index ERROR in ./~/react-native-elements/src/checkbox/CheckBox.js Module parse failed: E:\Proiecte\TransparentResidence\asociatie_frontend\node_modules\react-native-elements\src\checkbox\CheckBox.js Unexpected token (29:4) You may need an appropriate loader to handle this file type. | checkedTitle, | fontFamily, | ...attributes | } = props; | @ ./~/react-native-elements/src/index.js 18:0-43 @ ./src/native/routes/appNavigator.js @ ./src/reducers/nav/nav.js @ ./src/reducers/index.js @ ./src/configureStore.js @ ./src/web/index.js @ multi ./src/web/index
如果您在两个项目之间共享相同的代码,那么连接点就是您在这两个项目中都使用了ReactJS。这意味着您可以获取代码并创建公共模块化服务/Util类,您可以将这些类导入到这两个模块中。
考虑以下几点:
我有一个用户api调用在ReactJS和React本地应用程序。我创建了一个用户服务模块,它只用我需要的核心导入来处理这个问题(用JavaScript编写)。然后,我将此服务导入到我的反应和反应本地应用程序中。
你为什么要拆开你的申请?你有了共享的代码,就把普通代码分离出来,并将其模块化。如果没有看到你的代码,很难判断。
你不能简单地混合反应和反应本机(在这里阅读为什么)。要么按照Cherniv的建议使用React Native Web,要么将代码完全拆分。
如果您想执行前者,请参阅本回购协议,以获取95%代码重用的示例。
只是按照facebook.github上的说明进行create-react-native-app首先得到的:react-redux 5.0.6需要react@^0.14.0 || react@^15.0.0-0的对等体....然后我卸载了react-redux,得到了这个... 这里是包.json 错误启动包装机 错误:未安装React native。请在您的项目目录中运行npm install。
我将安装Android studio并在其上运行react native,但它是否仍能为我提供iOS apk!?我听说我们不需要为iOS重写react本机代码。
正在处理一个庞大复杂的应用程序,该应用程序目前正在使用hibernate LocalSessionFactoryBean、HibernateTransactionManager和HibernateTemplate。有没有可能我可以使用JPA进行我的新特性开发,这样我就可以使用SPRING DATA JPA在我的持久性层上工作了?我的当前配置如下。 但是,我想为新的东西添加LocalContaine
问题内容: 我很确定它具有内置功能,但是在搜索或在文档中找不到任何内容。是否启用了启用multidex的标记? 另一个要注意的是:有什么方法可以查看哪些库弄乱了您的方法数量?达到64k的限制令人惊讶。 问题答案: 在其他地方找到答案。与为任何常规Android项目启用它没什么不同。 至于方法计数,此站点可以解决问题:http : //inloop.github.io/apk-method-coun
我有一个(基于Maven的)项目a加载在Intellij中,它有许多依赖项。 我想在B中放置断点并调试项目A,以便在项目B中达到断点时A停止。 在Eclipse中,我只需要将两个项目放在同一个工作区中,它就可以工作了。由于Intellij中没有工作区,我想知道该如何做,以及是否可能。
问题内容: 我有一个Java项目正在使用两个导入的具有相同类()的jar 。导入类时,有没有一种方法可以明确说明要使用哪个jar?使用: 似乎按照构建路径顺序的顺序使用该类,但是由于某种原因,似乎并非如此 在运行时。我正在Eclipse中构建项目。 问题答案: 您不能仅在Java源代码中执行所要求的操作。Java不是为此而设计的。 这是一种糟糕的情况,只有使用自定义类加载器才能可靠地处理它们,每个