主页 > app >
创建React App:HTTPS和自签名证书(创建react项目)
25-04-23
2
对于创建ReactApp:HTTPS和自签名证书感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍创建react项目,并为您提供关于ActionController::RoutingError没有
对于创建React App:HTTPS和自签名证书 感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍创建react项目 ,并为您提供关于ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j、angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在、APP 自动化 01 - 基础操作 API-UIautomatorviewer-APP 定位 - 元素等待 - APP 模拟手势高级操作、FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 调用 Firebase App.initializeApp() (app/no-app) 的有用信息。
本文目录一览:
创建React App:HTTPS和自签名证书(创建react项目) 如何解决创建React App:HTTPS和自签名证书
我正在尝试在HTTPS模式下运行使用create-react-app模板创建的React应用:
set SSL_CRT_FILE=.cert/server.pfx&&set HTTPS=true&&npm start
我使用Power Shell创建了此证书。尽管有很多解释说明如何使用使用OpenSSL创建的证书运行react app,但由于不允许我在计算机上安装OpenSSL,这不是我的选择。
证书创建:
$cert = New-SelfSignedCertificate -CertStoreLocation Cert:\\LocalMachine\\My -DnsName "localhost" -FriendlyName "MyCert" -NotAfter (Get-Date).AddYears(10)
$pwd = ConvertTo-securestring -String `my_password'' -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath C:\\my_react_app\\.cert\\server.pfx -Password $pwd
然后,我将此证书导入到“个人证书”中,并将其复制到“受信任的根证书颁发机构”。但是,当我在浏览器中打开项目时,我得到了NET::ERR_CERT_AUTHORITY_INVALID
我做错了什么?
p.s。
导出为.cer文件也不起作用:
Export-Certificate -Cert $cert -FilePath C:\\my_react_app\\.cert\\server.cer
解决方法
PowerShell中的以下命令(以管理员身份运行)将创建根证书及其关联的受信任证书:
1。 。我们创建一个新的根受信任证书:
$rootCert = New-SelfSignedCertificate -Subject ''CN=TestRootCA,O=TestRootCA,OU=TestRootCA'' -KeyExportPolicy Exportable -KeyUsage CertSign,CRLSign,DigitalSignature -KeyLength 2048 -KeyUsageProperty All -KeyAlgorithm ''RSA'' -HashAlgorithm ''SHA256'' -Provider ''Microsoft Enhanced RSA and AES Cryptographic Provider''
2。 。我们从受信任的根证书链创建证书:
New-SelfSignedCertificate -DnsName "localhost" -FriendlyName "MyCert" -CertStoreLocation "cert:\\LocalMachine\\My" -Signer $rootCert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1") -Provider "Microsoft Strong Cryptographic Provider" -HashAlgorithm "SHA256" -NotAfter (Get-Date).AddYears(10)
3。 。我们复制上一条命令返回的指纹
4。 (如果需要),我们删除了上一个关联的ip / port / cert:
netsh http delete sslcert ipport=0.0.0.0:3002
5。 。我们将新证书与任何ip和您的端口(例如3002)关联(appid值无关紧要,是任何有效的GUID):
netsh http add sslcert ipport=0.0.0.0:3002 appid=''{214124cd-d05b-4309-9af9-9caa44b2b74a}'' certhash=here_the_copied_thumbprint
6。 。现在,您必须将TestRootCA
从Personal/Certificates
文件夹拖放到Trusted Root Certification Authorities/Certificates
。
这些命令还解决了Google Chrome稍后返回的错误 ERR_CERT_WEAK_SIGNATURE_ALGORITHM ,因为证书是使用SHA256而不是SHA1创建的。
ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j 如何解决ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j
我正在Rails上执行此应用程序,页面加载正常,但在控制台中显示:
Started GET "/vendor/assets/stylesheets/bootstrap.min.css" for ::1 at 2020-08-17 09:09:51 -0500
Started GET "/vendor/assets/javascripts/bootstrap.min.js" for ::1 at 2020-08-17 09:09:51 -0500
ActionController::RoutingError (No route matches [GET]
"/vendor/assets/stylesheets/bootstrap.min.css"):
ActionController::RoutingError (No route matches [GET]
"/vendor/assets/javascripts/bootstrap.min.js"):
在我的供应商文件夹中,我同时拥有文件夹,javascript和样式表,并分别位于各自的bootsrtrap.min中。 即使在application.html.erb中,我也有以下内容:
<link href="vendor/assets/stylesheets/bootstrap.min.css" rel="stylesheet">
<%= csrf_Meta_tags %>
<%= stylesheet_link_tag ''application'',media: ''all'',''data-turbolinks-track'': ''reload'' %>
<%= javascript_include_tag ''application'',''data-turbolinks-track'': ''reload'' %>
</head>
<body>
<!-- Navigation -->
<nav>
<div>
<ahref="#">Instagram Clone</a>
<buttontype="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span></span>
</button>
<divid="navbarResponsive">
<ul>
<li>
<ahref="#">Home
<span>(current)</span>
</a>
</li>
<li>
<ahref="#">About</a>
</li>
<li>
<ahref="#">Services</a>
</li>
<li>
<ahref="#">Contact</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Page Content -->
<div>
<div>
<div>
<%= yield %>
</div>
</div>
</div>
<!-- Bootstrap core JavaScript -->
<!--<script src="vendor/jquery/jquery.slim.min.js"></script>-->
<script src="vendor/assets/javascripts/bootstrap.min.js"></script>
</body>
</html>
在js和CSS这两个应用程序文件中,我都放置了“ require bootsrtrap.min”,即使该错误仍然出现在控制台中。 会是什么?
解决方法
RoR不使用目录作为文件夹结构指示。因为有资产装载者。您应该将5s或更少的css导入application.css中,并将js导入application.js中。并使用自己的助手添加捆绑文件:
1。用纱安装靴子
yarn add bootstrap @popperjs/core jquery
或
npm i bootstrap @popperjs/core jquery
栏位不超过5
2。在Assets Pipeline中导入文件
app / assets / stylesheets / application.css:
//...
require bootstrap/dist/css/bootstrap.min
//...
但是,如果需要,我建议使用SCSS并仅导入所需的样式。
app / assets / javascript / application.js:
//...
//= require jquery
//= require @popperjs/core
//= require bootstrap/dist/js/bootstrap.min
//...
3。在布局中导入资产
app / views / layout / application.html.erb:
<head>
...
<%= stylesheet_link_tag ''application'',media: ''all'' %>
</head>
<body>
...
<%= javascript_include_tag ''application'' %>
</body>
使用webpack滚动6
2。在application.scss和application.js中导入Bootstrap
app / javascript / stylesheets / application.scss:
//...
import ''bootstrap''
//...
app / javascript / packs / application.js:
import ''jquery''
import ''popper.js''
import ''bootstrap''
import ''../stylesheets/application''
3。在布局中导入捆绑包
<head>
...
<%= stylesheet_pack_tag ''application'',media: ''all'',''data-turbolinks-track'': ''reload'' %>
<%= javascript_pack_tag ''application'',''data-turbolinks-track'': ''reload'' %>
</head>
之后,您应该可以在所有应用程序中使用引导程序!
,
[解决方案]因此,在我的HTML(application.html.erb)内部,我有两个对js和css文件的调用:
<script src="assets/javascripts/bootstrap.min.js"></script>
<%= javascript_include_tag ''application'',''data-turbolinks-track'': ''reload'' %>
<link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet">
<%= csrf_meta_tags %>
<%= stylesheet_link_tag ''application'',''data-turbolinks-track'':
''reload'' %>
正如您在上面看到的那样,在使用javascript的情况下,我有一个使用脚本的调用,而另一个使用了的调用,两者都造成了问题,所以您只需要评论一个,我就对该脚本进行评论对于我的java文件和CSS文件,一个。 像这样:
<!--<link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet">-->
<!--<script src="assets/javascripts/bootstrap.min.js"></script>-->
对我来说,解决了这个问题,我真的尝试了所有事情,这就是解决方案哈哈。
angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在
我在角度创建新项目时面临问题.
当我运行新的myapp命令时,我得到以下命令
新的你好
Error: Path "/app/app.module.ts" does not exist.
Path "/app/app.module.ts" does not exist.
谁能帮我吗???
解决方法
这是解决方案
Please make sure that your new folder have write permission
如果您使用的是ubuntu,请将以下命令运行到该文件夹
sudo chmod 644 -R foldername
然后运行新的appname
并检查您的节点版本
APP 自动化 01 - 基础操作 API-UIautomatorviewer-APP 定位 - 元素等待 - APP 模拟手势高级操作 --- 恢复内容开始 ---
先连接手机:
adb connect 127.0.0.1:7555
APP 基础操作 API
前置代码
# server 启动参数 desired_caps = {} desired_caps[''platformName'' ] = ''Android'' desired_caps[''platformVersion'' ] = ''5.1'' desired_caps[''deviceName'' ] = ''192.168.56.101:5555'' desired_caps[''appPackage'' ] = ''com.android.settings'' desired_caps[''appActivity'' ] = ''.Settings'' # 解决输入中文 desired_caps[''unicodeKeyboard'' ] = True desired_caps[''resetKeyboard'' ] = True # 声明driver对象 driver = webdriver.Remote(''http://127.0.0.1:4723/wd/hub'' , desired_caps)
安装 apk 到手机
driver .install_app (''app路径'' )
手机中移出 apk
driver .remove_app (’APP包名‘)
判断 app 是否已经安装
driver .is_app_install (’APP包名‘)
发送文件到手机
import base64 with open ("./push07.txt" ,"r" ,encoding ="utf-8" ) as f: data =str (base64.b64encode(f.read().encode("utf-8" )),"utf-8" ) driver.push_file("/sdcard/push07.txt" ,data ) 参数: /sdcard/push07.txt:手机设备上的路径(例如:/sdcard/a.txt) data :文件内数据,要求base64编码 Python3.x中字符都为unicode 编码,而b64encode函数的参数为byte 类型,需要先转码; 生成的数据为byte 类型,需要将byte 转换回去
从手机中拉取文件
import base64data = driver.pull_file(path ) # 返回数据为base64编码print (str(base64.b64decode(data),''utf-8'' )) # base64解码参数: path : 手机设备上的路径
获取当前屏幕内元素结构
driver .page_source 作用:返回当前页面文档,判断特点元素是否存在
手机控件查看工具 UIautomatorviewer
作用:用来扫描和分析 Android 应用程序的 UI 控件的工具.
APP 元素定位操作
name
Value
id
id 属性值
Class
class 属性值
Xpath
xpath 表达式
文字定位:driver.find_element_by_xpath ("//*[@text='' 定位文字 '']")
driver.find_element_by_xpath ("//*[contains (@text,'' 部分文字 '')]")
WebDriverWait 显示等待操作
在一个超时时间范围内,每隔一段时间去搜索一次元素是否存在,如果存在返回定位对象,如果不存在直到超时时间到达,报超时异常错误。
方法:WebDriverWait(driver , timeout , poll_frequency ).until (lamda x :x.find_element_by_id(''id属性值'' )) 参数: 1 .driver :手机驱动对象 2 .timeout :搜索超时时间 3 .poll_frequency :每次搜索间隔时间,默认时间为0 .5s 4 .method :定位方法(匿名函数)
APP 元素信息操作 API
点击元素 .click ()
发送数据到输入框 .send_keys ()
清空输入框内容 .clear ()
获取元素的文本内容 .text
获取元素的属性值 .get_attribute (value) #value 是元素属性名
获取元素在屏幕上的坐标 .location
获取启动名和包名
获取包名方法:driver .current_package 获取启动名:driver .current_activity
APP 元素事件操作 API
swip 滑动事件
从一个坐标位置滑动到另一个坐标位置# 滑动持续5秒的时间 driver.swipe(188,659,148,248,5000)
scroll 滑动事件
driver .scroll (开始元素,结束元素)
drag 拖拽事件
driver .drag_and_drop (el1,el2)
应用置于后台
APP放置后台,模拟热启动# app置于后台5s后,再次展示当前页面 driver.background_app(5)
APP 模拟手势高级操作
TouchAction是AppiumDriver的辅助类,主要针对手势操作,比如滑动、长按、拖动等,原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。⚠️所有手势都要通过执行函数才会运行.
轻敲操作
方法:tap(element=None , x=None , y=None )方法:perform() # 发送命令到服务器执行操作
按的操作
方法:press(el=None , x=None , y=None ) 方法:release() # 结束动作,手指离开屏幕 再 preform()
等待操作
wait (ms=0 )
手指长按操作
long_press(el=None , x=None , y=None , duration=1000 )默认为1000 毫秒
手指移动操作
方法:move_to(el=None , x=None , y=None ).perform() 参数: 1. el:定位的元素 2. x:相对于前一个元素的X轴偏移量 3. y:相对于前一个元素的Y轴偏移量
--- 恢复内容结束 ---
FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 调用 Firebase App.initializeApp() (app/no-app) 如何解决FirebaseError: Firebase: No Firebase App ''[DEFAULT]'' has been created - 调用 Firebase App.initializeApp() (app/no-app) 当我尝试设置 firebase whit next.js 时遇到了这个问题。我不知道发生了什么。
firebase.js 文件
import firebase from ''firebase'' ;
import ''firebase/auth'' ;
import ''firebase/functions'' ;
import ''firebase/firestore'' ;
if (! firebase . apps . length ) {
firebase . initializeApp ({
apiKey : process . env . NEXT_PUBLIC_FIREBASE_API_KEY , authDomain : process . env . NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN , projectId : process . env . NEXT_PUBLIC_FIREBASE_PROJECT_ID
});
}
export default firebase ;
我还创建了一个 .env.local
并添加了环境变量。
NEXT_PUBLIC_FIREBASE_API_KEY = xxxxxxxxxxxxxx
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN = xxxxxxxxxxxxxxxxxxxxxxxxxxx
NEXT_PUBLIC_FIREBASE_PROJECT_ID = xxxxxxxxxxxxxxxxxxxxxxxxxxx
今天关于创建React App:HTTPS和自签名证书 和创建react项目 的分享就到这里,希望大家有所收获,若想了解更多关于ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j、angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在、APP 自动化 01 - 基础操作 API-UIautomatorviewer-APP 定位 - 元素等待 - APP 模拟手势高级操作、FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 调用 Firebase App.initializeApp() (app/no-app) 等相关知识,可以在本站进行查询。