2

我已经构建了一个小型扩展,我不得不在许多地方(如 manifest.json 等)对 URL 进行硬编码。但我希望开发环境和生产环境之间的 URL 域不同。想知道什么是正确的做法。

4

2 回答 2

0

如果您知道您的生产扩展 url,那么您可以看到扩展 ID。假设扩展 url 是https://chrome.google.com/webstore/detail/eme-call-and-event-logger/cniohcjecdcdhgmlofniddfoeokbpbpb所以var chromeruntimeid='cniohcjecdcdhgmlofniddfoeokbpbpb';

  if(chrome.runtime.id==chromeruntimeid){
    console.log('production');
  }else{
    console.log('development');
  }
于 2016-02-25T05:22:04.240 回答
-1

您可以尝试通过以下方式创建一个 JSON 文件并在其中包含不同的键、值对:

"development": {
    "oauth-code": "xyz"
}

"production": {
    "oauth-code": "xyz"
}

然后将 settings.json 加载到您的主脚本中,并根据您以下列方式选择的环境动态访问设置:

var settings = [code to load JSON file, depending upon the language that you choose]
console.log(settings['production'].oauth-code);
console.log(settings['development'].oauth-code);

它将帮助您更轻松地根据环境获取自定义设置,您也可以尝试在 JS 文件中使用具有相同属性的应用程序对象,其方式几乎相同,但建议将设置和主要逻辑从彼此。

于 2012-09-14T07:24:39.633 回答