问题标签 [package-development]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1068 浏览

r - 在 shiny::shinyApp 中设置 www 位置

我目前正在创建一个shiny::shinyApp通过包装函数调用的闪亮应用程序。

当我包含资源(如图像、视频等)时,我当前使用该addResourcePath命令并包含带有前缀的资源。但是,我想添加一个“默认资源路径”(appDir/www在通常的应用程序中)。shinyAppor中似乎没有合适的参数runApp。将工作目录设置为资源文件夹或上一级也不起作用。

这是一个简短的 MWE。

如果我通过RunApp("~/myApp")一切正常运行应用程序,但是

将无法显示图像。任何建议表示赞赏。

语境

我想基于shiny.appobj(代表应用程序的对象)而不是文件路径来启动应用程序的原因是,后一种方法在将参数传递给应用程序时效果不佳。是关于这个主题的讨论。

将参数传递给被调用的应用程序的推荐方法runApp("some/path")如下:

这种方法只是丑陋的 IMO,当我构建包含应用程序和startApp函数的包时会收到警告。出现这些警告是因为该包随后破坏了建议的包开发范围模型。

0 投票
1 回答
1487 浏览

php - 从自定义 Laravel 包中提供本地化

我在为如何正确使用 laravel 的自定义包正确使用本地化而苦恼?
$this->loadTranslationsFrom(__DIR__ . '/../../resources/lang', 'package_lang');不让我访问我的视图中的嵌套翻译文件(刀片模板)。

我的文件夹结构

在我看来,我尝试像这样访问它:

或者

导致返回翻译字符串键。

ServiceProvider 已加载到我的app.php配置中,其中我也设置了正确的语言环境(调试栏证明了这一点)。试过了composer dump-autoload,但没有成功。
如果我使用 laravel 的标准项目文件夹,我只会让它工作project/resources/lang,这会阻止我使用我喜欢的命名空间package_lang::并使我的包准备好进行本地化。

我的服务提供商

知道如何解决吗?

编辑:

我有多个遵循此文件夹结构的包。

0 投票
0 回答
317 浏览

r - 加载所需的命名空间:pbkrtest 失败并出现错误:'没有名为'pbkrtest'的包'

在我的包中使用emmeans R包后,我开始收到以下错误:

加载所需的命名空间:pbkrtest

失败并出现错误:'没有名为'pbkrtest'的包'

期间devtools::check_win_devel()。想知道这里有什么补救措施。

0 投票
2 回答
971 浏览

r - 如何从我的包中加载另一个包中的数据

我正在开发的包中的一个函数使用acs::包(fips.state对象)中的数据集。我可以通过以下方式将这些数据加载到我的工作环境中

但我不知道为我的函数加载这些数据的正确方法。我试过了

但不导出数据集。我不想复制数据并将其保存到我的包中,因为这似乎是一种糟糕的开发实践。

我查看了http://r-pkgs.had.co.nz/namespace.htmlhttp://kbroman.org/pkg_primer/pages/docs.htmlhttps://cran.r-project.org /doc/manuals/r-release/R-exts.html#Data-in-packages,但它们不包含有关从一个包到另一个包共享数据集的任何信息。

基本上,我如何制作另一个包中的函数所需的数据集,该数据集可用于我的包中的函数?

0 投票
4 回答
1810 浏览

php - 扩展 Laravel 5.5/5.6 蓝图

如何使用自定义方法$table->myMethod()扩展Laravel 5.5/5.6 MySQL 蓝图,如预建方法$table->timestamps(); ?

我尝试了一个 SQLlite 示例:Extending Blueprint for SQLite in Laravel 5

但我无法让它工作。我正在开发自己的包(使用包开发最佳实践),并希望从那里包含蓝图扩展。

我开发的包有 Laravel 扩展文件夹“Extension”: ./packages/ vendorname /packagename/src/Extension/

有文件:

1) ./packages/vendorname/packagename/src/Extension/Blueprint.php

2) ./packages/vendorname/packagename/src/Extension/MySqlConnection.php

我的包有服务提供者: ./packages/vendorname/packagename/src/VendornamePackagenameServiceProvider.phpregister()方法:

我的包也有迁移文件: ./packages/vanilla/vanilla-admin/src/migrations/2018_02_07_213437_create_logs_table.php

如何使用标准“使用 Illuminate\Database\Schema\Blueprint;” 在迁移中,因为我不想使用“use Vendorname\Packagename\Extension\Blueprint;”。

此外,我在运行迁移“php artisan migrate:refresh”时遇到错误:

请帮我找到解决方案。我在互联网上搜索并测试了一整天,我无法让它工作:(

0 投票
1 回答
271 浏览

javascript - 如何使用演示应用程序创建 npm 包?

包提供某种类型的演示应用程序似乎是一种很好的做法,所以我只是想知道组织文件结构的最干净的方法是什么?

我想要一个 github 存储库,其中包含我已发布的 NPM 模块和一个简单的演示 webapp。

理想情况下,我想要一个顶级的:

并将代码package/分发到 NPM。我可以使用package.json文件选项,例如

但是随后所有代码都将使用该路径前缀分发,例如

有没有办法修改路径前缀,以便更改顶级目录并删除package/我用来组织文件的额外内容?

当然其他人有办法做到这一点,但我不想使用两个 repos - 一个演示和一个包。

澄清我希望能够直接从 github 安装包,作为一种“可怜的私人 NPM”。所以我不想只从“包”目录中发布。我认为使用 github URL 可以指定要使用的分支,但不能指定子目录。

0 投票
2 回答
716 浏览

laravel - laravel 包开发并链接到 css/js 文件

我是 laravel 包开发的新手,我想在主视图中链接到 css 和 js 文件。

我这样做,但它链接到项目路径

但我想链接到包目录中的 css/js 文件。

0 投票
1 回答
250 浏览

r - 在 R 中,如何自动安装使用我自己的包的包?

这个问题靠近以下站点:

R - 将“xlsx”包导入我自己的包不起作用

aa我在一些安装顺利的计算机上制作了一些名为 的软件包。

当我尝试在另一台计算机上安装自己的软件包时,会出现以下错误消息:

通过我的手,一旦我安装了knitr上述错误中描述的包,则错误消息是以下包knitr消失的消息:

我想知道的是我自己的包中使用的包是否自动安装。

0 投票
4 回答
1247 浏览

laravel - 包中的扩展用户模型

你能帮我理解扩展现有模型的正确方法吗?我正在开发一个包,并希望尽可能多地与主应用程序分开。

我想拥有User模型的所有现有功能,但只添加与另一个模型的关系。在我的包裹User中,我可以有几个 ( hasMany) Article。我没有添加方法,而是\App\User在我的包中创建了一个新模型class User extends \App\User

为了使它工作,我为我的包添加了配置auth.php

我的问题:扩展现有模型的功能是“最佳实践”吗?

0 投票
2 回答
307 浏览

r - Bioconductor 包未在包的描述部分使用 biocViews 规范安装

问题:

我正在开发一个 R 包,其中一个依赖包是 multtest。它仅在 Bioconductor 上可用,如此。我正在使用devtools来构建包。而且,当我在 R 控制台上运行devtools::install()时,我希望multtest像我的其他 CRAN 软件包一样自动安装(如果尚未安装)。我确实知道如何手动安装 Bioconductor 软件包。

研究解决方案:

以下链接建议我应该把

在包的描述文件中,用于自动安装 Bioconductor 包。

  1. biocViews:在上面的一行中Imports:(我不确定它放在哪里很重要?)并且要安装的 Bioconductor 包Imports:放在这里

  2. biocViews:在上面的行中,Imports:要安装的 Bioconductor 包放在 like 之后biocViews: multtest。这个确切的答案在 Vivekbhr 回复 Vivian 的未投票线程的末尾,如下所示

我还跟进并检查了依赖 Bioconductor 的软件包的描述文件,如下所示

尝试的解决方案:

我遵循了这些研究解决方案,将 multtest 与biocViews:, below biocViews:, under放在一起Imports:。所有这些都返回包依赖或包未找到错误,如下图所示。

  1. biocViewsinOneLine
  2. bioc 单行视图
  3. biocViewsunderImports

然后,我手动重新安装了 multtest 并且它可以工作。但是,我仍然希望具有自动安装功能,如Imports在 Hadley 书中的部分中提到的这里

可能吗?我误解了什么或做错了什么?

非常感谢!