通过执行react native init react nativeweb
,我创建了一个react native应用程序。
然后,我按照这里的说明,向它添加react-nate-web。
我还添加了一个索引。网状物js
我的应用程序根文件夹下的文件。以下是该文件的外观:
import React, { Component } from "react";
import { AppRegistry, StyleSheet, Text, View } from "react-native";
class ReactNativeWeb extends Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>Welcome to React Native!</Text>
<Text style={styles.instructions}>
To get started, edit index.web.js
</Text>
<Text style={styles.instructions}>Press Cmd+R to reload</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: "center",
alignItems: "center",
backgroundColor: "#F5FCFF"
},
welcome: {
fontSize: 20,
textAlign: "center",
margin: 10
},
instructions: {
textAlign: "center",
color: "#333333",
marginBottom: 5
}
});
AppRegistry.registerComponent("ReactNativeWeb", () => ReactNativeWeb);
AppRegistry.runApplication("ReactNativeWeb", {
rootTag: document.getElementById("react-app")
});
这是我的webpack.config.js
文件:
const path = require("path");
const webpack = require("webpack");
const appDirectory = path.resolve(__dirname, "../");
// This is needed for webpack to compile JavaScript.
// Many OSS React Native packages are not compiled to ES5 before being
// published. If you depend on uncompiled packages they may cause webpack build
// errors. To fix this webpack can be configured to compile to the necessary
// `node_module`.
const babelLoaderConfiguration = {
test: /\.js$/,
// Add every directory that needs to be compiled by Babel during the build.
include: [
path.resolve(appDirectory, "index.web.js"),
path.resolve(appDirectory, "src"),
path.resolve(appDirectory, "node_modules/react-native-uncompiled")
],
use: {
loader: "babel-loader",
options: {
cacheDirectory: true,
// The 'react-native' preset is recommended to match React Native's packager
presets: ["react-native"],
// Re-write paths to import only the modules needed by the app
plugins: ["react-native-web"]
}
}
};
// This is needed for webpack to import static images in JavaScript files.
const imageLoaderConfiguration = {
test: /\.(gif|jpe?g|png|svg)$/,
use: {
loader: "url-loader",
options: {
name: "[name].[ext]"
}
}
};
module.exports = {
entry: [
// load any web API polyfills
// path.resolve(appDirectory, 'polyfills-web.js'),
// your web-specific entry file
path.resolve(appDirectory, "index.web.js")
],
// configures where the build ends up
output: {
filename: "bundle.web.js",
path: path.resolve(appDirectory, "dist")
},
// ...the rest of your config
module: {
rules: [babelLoaderConfiguration, imageLoaderConfiguration]
},
resolve: {
// This will only alias the exact import "react-native"
alias: {
"react-native$": "react-native-web"
},
// If you're working on a multi-platform React Native app, web-specific
// module implementations should be written in files using the extension
// `.web.js`.
extensions: [".web.js", ".js"]
}
};
下面是我在中看到的内容。bablerc
文件:
{
"presets": ["@babel/preset-env"]
}
但是,当我尝试使用下面的命令运行此命令时,我得到以下错误。
./node_modules/.bin/webpack-dev-server -d --config ./web/webpack.con
错误:
错误/指数网状物js模块构建失败(来自./node_modules/babel loader/lib/index.js):TypeError:无法在作用域读取null的属性“bindings”。在BlockScoping中移动bindings到(/Users/aliyar/ReactNativeWeb/node_modules/@babel/traverse/lib/scope/index.js:867:13)。在BlockScoping中更新copeinfo(/Users/aliyar/ReactNativeWeb/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:364:17)。在PluginPass上运行(/Users/aliyar/reactiveweb/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:330:12)。BlockStatementSwitchStatementProgram(/Users/aliyar/ReactNativeWeb/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:70:24)在newFn(/Users/aliyar/ReactNativeWeb/node_modules/@babel/traverse/lib/visitors.js:193:21)在NodePath_在NodePath调用(/Users/aliyar/ReactNativeWeb/node_modules/@babel/traverse/lib/path/context.js:53:20)。在NodePath调用(/Users/aliyar/ReactNativeWeb/node_modules/@babel/traverse/lib/path/context.js:40:17)。在TraversalContext访问(/Users/aliyar/ReactNativeWeb/node_modules/@babel/traverse/lib/path/context.js:88:12)。在TraversalContext上访问Queue(/Users/aliyar/ReactNativeWeb/node_modules/@babel/traverse/lib/context.js:118:16)。Visitinggle(/Users/aliyar/ReactNativeWeb/node_modules/@babel/traverse/lib/context.js:90:19)@multi(webpack)-开发服务器/客户端?http://localhost:8080(网页包)/hot/dev服务器。js/指数网状物js main[2]
知道我为什么会出错吗?
我能够通过将Babel-preset-react-本地升级到5.0.2版本来解决您的问题。其他一切都应该与您的设置相同。
这是我完整的软件包。json
:
{
"name": "ReactNativeWeb02",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"build": "./node_modules/.bin/webpack-dev-server -d --config ./web/webpack.config.js --inline --hot --colors"
},
"dependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react-native": "0.58.0",
"react-native-web": "^0.10.0-alpha.3"
},
"devDependencies": {
"babel-plugin-react-native-web": "^0.9.13",
"babel-preset-react-native": "^5.0.2",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "23.6.0",
"babel-loader": "^8.0.5",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.51.1",
"react-test-renderer": "16.6.3",
"url-loader": "^1.1.2",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1",
"webpack-dev-server": "^3.1.14"
},
"jest": {
"preset": "react-native"
}
}
我希望这有帮助。
问题内容: 我一直在开发React应用程序,现在我需要Redux来处理它的某些方面。 阅读了一堆教程之后,我相当着迷于如何使“更智能”的组件“笨拙”以及如何将功能移入我的动作和化简器中。 因此,例如,应用程序的一个方面更多是待办事项列表样式。 我的课程之一是这样开始的: 因此,如您所见,这是非常繁重的逻辑。我已经开始通过在索引文件中添加来添加Redux ,并制作了一个基本的reducers文件,该
我刚刚在运行PHP7.0.14的CentOS安装程序上安装了Symfony。但是,我在尝试运行时遇到以下问题: 我已经在网上寻找答案,并且已经尝试在php.ini中设置
我有一个工作应用程序,我想添加语音命令。当前应用程序定期(定时器)通过蓝牙来回传输数据。用户可以按按钮和NumberPickers来修改通过蓝牙发送的数据。还有从蓝牙链接接收到的数据,并显示在文本视图中。此应用程序目前工作正常。 我想做的是添加语音命令功能,以便用户可以选择按下按钮/数字选择器,或者可以仅使用语音命令更改值。 我测试了一些可以在各种网站上找到的从语音到文本的例子。我成功地测试了一个
我很难知道如何将我的JFXPanel(它是一个mp3播放器)集成到一个现有的Swing应用程序中,该应用程序是一个JFrame,其中添加了几个不同的JPanel。我对JavaFX是一个完全的noob,它与Swing非常不同。 我能够得到下面的代码来运行和做我想做的事情。它将播放mp3文件从一个目录,我有他们包含在。这是某人编写的示例中的代码。我的问题是,这段代码创建了JFrame,有main方法和
我有一个成熟的Spring Boot服务器应用程序。我正在通过一篇文章来配置Spring以将指标发送到AWS Cloudwatch。 当我包含启动程序包Spring-Cloud-starter-aws时,我遇到了运行时异常。有人能告诉我为什么我得到了这个例外,我能做些什么来解决这个问题吗? 以下是两种摘要形式的例外: 长格式: 我使用IntelliJ,查看了“External Libraries”
在我的昂首阔步的UI中,当我单击“试用”并执行一个请求时,请求是在没有任何令牌的情况下发送的。 问题--有什么方法可以查询登录请求并将授权令牌添加到Swagger UI请求中吗?