GVKun编程网logo

更新Google APP Engine的composer.json(google更新程序)

1

在本文中,我们将详细介绍更新GoogleAPPEngine的composer.json的各个方面,并为您提供关于google更新程序的相关解答,同时,我们也将为您带来关于ActionControlle

在本文中,我们将详细介绍更新Google APP Engine的composer.json的各个方面,并为您提供关于google更新程序的相关解答,同时,我们也将为您带来关于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 模拟手势高级操作、easyUI 这样获取 Json 的内嵌数据 显示 json 下的 json的有用知识。

本文目录一览:

更新Google APP Engine的composer.json(google更新程序)

更新Google APP Engine的composer.json(google更新程序)

如何解决更新Google APP Engine的composer.json

环境:PHP 7.3

我向本地composer.json添加了一个新包

如何移动更改? gcloud应用程序部署似乎忽略了它,因为新文件未显示在其中。

要检查新的composer.json并实时更新它,是否还需要运行其他任何内容?

谢谢

解决方法

来自GCP documentation:

当您部署新版本的Composer时,它将自动运行 应用。只需将以下行添加到PHP的顶部 需要 autoload.php 文件的脚本:

require_once __DIR__ . ''/vendor/autoload.php'';

composer.json 文件中定义的

脚本在Composer时不会运行 可以使用缓存的结果。

默认情况下,App Engine缓存获取的依赖项以减少构建 次。要安装依赖项的未缓存版本,请使用 命令:

gcloud beta app deploy --no-cache

让我知道是否有帮助!

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

如何解决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”不存在

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 模拟手势高级操作

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)
  1. 安装 apk 到手机

    driver.install_app(''app路径'')
  2. 手机中移出 apk

    driver.remove_app(’APP包名‘)
  3. 判断 app 是否已经安装

    driver.is_app_install(’APP包名‘)

     

  4. 发送文件到手机

      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转换回去

     

  5. 从手机中拉取文件

    import base64
    data = driver.pull_file(path) # 返回数据为base64编码
    print(str(base64.b64decode(data),''utf-8'')) # base64解码
    参数:
        path: 手机设备上的路径

     

  6. 获取当前屏幕内元素结构

    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

  1. 点击元素 .click ()

  2. 发送数据到输入框 .send_keys ()

  3. 清空输入框内容 .clear ()

  4. 获取元素的文本内容 .text

  5. 获取元素的属性值 .get_attribute (value) #value 是元素属性名

  6. 获取元素在屏幕上的坐标 .location

  7. 获取启动名和包名

    获取包名方法:driver.current_package
    获取启动名:driver.current_activity

     

APP 元素事件操作 API

  1. swip 滑动事件

    从一个坐标位置滑动到另一个坐标位置
    # 滑动持续5秒的时间
    driver.swipe(188,659,148,248,5000)

     

  2. scroll 滑动事件

     driver.scroll(开始元素,结束元素)

     

  3. drag 拖拽事件

    driver.drag_and_drop(el1,el2)
  4. 应用置于后台

APP放置后台,模拟热启动
# app置于后台5s后,再次展示当前页面
driver.background_app(5)

 

APP 模拟手势高级操作

TouchAction是AppiumDriver的辅助类,主要针对手势操作,比如滑动、长按、拖动等,
原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。

⚠️所有手势都要通过执行函数才会运行.
  1. 轻敲操作

    方法:tap(element=None, x=None, y=None)
    方法:perform() # 发送命令到服务器执行操作
  2. 按的操作

    方法:press(el=None, x=None, y=None)
    方法:release() # 结束动作,手指离开屏幕
    再 preform()

     

  3. 等待操作

    wait(ms=0)

     

  4. 手指长按操作

    long_press(el=None, x=None, y=None, duration=1000)
    默认为1000毫秒

     

  5. 手指移动操作

     方法:move_to(el=None, x=None, y=None).perform()
    参数:
        1.el:定位的元素
        2.x:相对于前一个元素的X轴偏移量
        3.y:相对于前一个元素的Y轴偏移量

     

     

 

 

--- 恢复内容结束 ---

easyUI 这样获取 Json 的内嵌数据 显示 json 下的 json

easyUI 这样获取 Json 的内嵌数据 显示 json 下的 json

先给出返回的 json 数据。

{
    "total": "2",
    "rows": [
        {
            "id": "1",
            "name": "张富银",
            "xiuhao": "2014009012",
            "exttend": {
                "sid": "1",
                "tid": "1",
                "tel": "18580711609",
                "qq": "564968550",
                "email": "myfirtyou@qq.com",
                "sxdw": "重庆源代码教育咨询有限公司",
                "sxdw_add": "重庆市永川区",
                "jjlxrtel": "15922879092"
            }
        },
        {
            "id": "4",
            "name": "测试学生姓名",
            "xiuhao": "2014009013",
            "exttend": {
                "sid": "4",
                "tid": "1",
                "tel": "1234567890",
                "qq": "12345",
                "email": "test@qq.com",
                "sxdw": "实习单位",
                "sxdw_add": "单位地址",
                "jjlxrtel": "1234567890"
            }
        }
    ]
}

昨天遇到这样一个问题,在取 exttend 里面的信息时,我使用了 如下的方式:

{
      field: ''sxdw'' ,
      title: ''实习单位'' ,
      width: 60,
      formatter: function (value, rec) {
          return rec.extend.sxdw;
      }
  },

这样可以取出 sxdw 的值,但是账号类型,性别也显示实习单位地址的值。不知道问题出在哪,在网上搜索,看到给出的解决办法都是返回 rec.extend.sxdw; 这样,但是只返回一个字段,这样肯定可以返回正确的值了,但是我要返回的是很多个字段。真是没办法了,就随便试 试吧,我把 field:’sxdw’改成 field:’extend.sxdw,再运行一次,竟然得到了我想要的结果。

下面是完整的代码:

 1 $(''#student_list'').datagrid({
 2         fit:true,
 3         fitColumns : true,
 4         rownumbers : true,
 5         border : false,
 6         striped : true,
 7         url:Thinkphp[''MODULE'']+''/student/getInfo/'',
 8         toolbar : ''#student_tool'',
 9         rownumbers:true,//显示行号
10         pagination:true,//显示分页工具条
11         pageList : [15, 30, 45],
12         pageNumber : 1,
13         pageSize : 15,
14         sortName : ''id'',
15         sortOrder : ''ASC'',        
16         columns:[[  
17              {
18                 field:''id'',
19                 title:''编号'',
20                 checkbox:true,
21                 width:100,
22             },{
23                 field:''name'',
24                 title:''姓名'',
25                 sortable:true,
26                 width:100,
27             },{
28                 field:''xiuhao'',
29                 title:''学号'',
30                 sortable:true,
31                 width:100,
32             },{
33                 field:''exttend.teacher'',
34                 title:''指导教师'',
35                 sortable:true,
36                 width:100,
37             },    
38             {
39                 field:''exttend.tel'',
40                 title:''电话'',
41                 sortable:true,
42                 width:100,
43                 formatter: function (value, rec) {
44                     return rec.exttend[''tel''];
45                 }
46             },{
47                 field:''exttend.qq'',
48                 title:''QQ'',
49                 width:80,
50                 formatter: function (value, rec) {
51                     return rec.exttend[''qq''];
52                 }
53             },{
54                 field:''exttend.email'',
55                 title:''电子邮件'',
56                 width:100,
57                 formatter: function (value, row) {
58                         return row.exttend.email;
59                 }
60             },{
61                 field:''exttend.sxdw'',
62                 title:''实习单位'',
63                 width:150,
64                 formatter: function (value, row) {
65                         return row.exttend.sxdw;
66                 }
67             }, {
68                 field:''exttend.sxdw_add'',
69                 title:''实习单位地址'',
70                 width:150,
71                 formatter: function (value, row) {
72                         return row.exttend.sxdw_add;
73                 }
74             },{
75                 field:''exttend.jjlxrtel'',
76                 title:''紧急联系人电话'',
77                 width:100,
78                 formatter: function (value, row) {
79                         return row.exttend.jjlxrtel;
80                 }
81             },      
82             ]] 
83     });
View Code

 

今天关于更新Google APP Engine的composer.jsongoogle更新程序的介绍到此结束,谢谢您的阅读,有关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 模拟手势高级操作、easyUI 这样获取 Json 的内嵌数据 显示 json 下的 json等更多相关知识的信息可以在本站进行查询。

本文标签:

上一篇GCP SQL Server App Engine连接:基于令牌的服务器访问验证失败,发生基础结构错误

下一篇如何在不丢失CSS的情况下通过Firebase托管正确部署React App?(部署react项目)