我正在参与Chrome扩展程序的开发.
在某些时候,我们需要运行一些静态的非生成代码,这些代码必须在页面的上下文中运行而不是在扩展中运行.
对于简单的脚本,使用其中$.getScript(chrome.extension.getURL(....))任何一个都没有问题script = document.createElement('script'); ... document.body.appendChild(script);
对于更复杂的脚本,我们有时需要包含jquery本身或其他一些脚本定义(因为依赖性).
但是在后一种情况下,尽管Javascript被认为是单线程的,但是当运行dependend脚本时,似乎没有完全解析JQuery,导致以下内容
Uncaught ReferenceError: $ is not defined
Run Code Online (Sandbox Code Playgroud)
假设JScript是单线程的,我错了吗?当这些脚本之间存在依赖关系时,在页面中注入脚本的正确方法是什么?(例如,脚本X使用脚本Y中定义的函数)
我是Go的新手,所以这可能是显而易见的.编译器不允许以下代码:(http://play.golang.org/p/3sTLguUG3l)
package main
import "fmt"
type Card string
type Hand []Card
func NewHand(cards []Card) Hand {
hand := Hand(cards)
return hand
}
func main() {
value := []string{"a", "b", "c"}
firstHand := NewHand(value)
fmt.Println(firstHand)
}
Run Code Online (Sandbox Code Playgroud)
错误是:
/tmp/sandbox089372356/main.go:15: cannot use value (type []string) as type []Card in argument to NewHand
从规范来看,它看起来像[]字符串与[]卡的底层类型不同,因此不能进行类型转换.
确实是这样,还是我错过了什么?
如果是这样的话,为什么会这样呢?假设,在一个非宠物示例程序中,我输入一个字符串片段,有没有办法将它"转换"成一片卡片,或者我是否必须创建一个新结构并将数据复制到其中?(我想避免使用,因为我需要调用的函数将修改切片内容).
(重新表述问题以更好地理解)为了详细说明我的问题不够详细,这些是我遇到的以下情况:项目:A 和 B。A 的根 pom 是项目 B 的父级。
由于我们发布过程的一些限制(这是为了提供一些当前的上下文,但这不应被视为绕过手头问题的主要驱动力),我需要更改两个项目的版本。
如果我更改 A 的版本,然后更改 B 的版本,则会收到以下错误消息:
mvn versions:update-parent -DallowSnapshots -DgenerateBackupPoms=false -DparentVersion="6.4.1-SNAPSHOT"
[WARNING] Not updating version: could not resolve any versions
Run Code Online (Sandbox Code Playgroud)
如果我更改 A 的版本,请调用mvn clean installA(我可以接受,尽管我希望能够在脚本中一次更改所有项目的版本和父项,而无需中间的、可能失败的构建) ,则 B 上的上述命令有效,但前提是指定的父版本是最新可用的。否则我得到:
[INFO] Current version of parentGroup:parentArtifact:pom:7.0.12 is the latest.
Run Code Online (Sandbox Code Playgroud)
这意味着我不能使用该mvn versions:update-parent命令来更改维护分支上的父版本。
有没有办法mvn versions:update-parent尊重所需的父版本?(无论是否可以在本地、nexus 存储库中找到或根本找不到)
编辑:附加信息-X(删除了不相关的部分,强调我的)
[DEBUG] Configuring mojo 'org.codehaus.mojo:versions-maven-plugin:2.5:update-parent' with basic configurator -->
[DEBUG] (f) allowSnapshots = true
[DEBUG] (f) generateBackupPoms = false
(...)
[DEBUG] (f) parentVersion …Run Code Online (Sandbox Code Playgroud)