Saya memanggil file js khusus menggunakan extendShinyjs
. fungsi. Berikut ini adalah cuplikan aplikasi dan berfungsi dengan baik di desktop windows. Saya membungkus aplikasi dalam gambar buruh pelabuhan dan ketika saya meluncurkan aplikasi untuk menguji menggunakan perintah di bawah ini
`sudo docker run -p 9000:9000 example_app R -e 'shiny::runApp("app.R")'
Semua paket dimuat dan saya mendapatkan
`here starts /`
and shinyjs: error cannot find "//www/custom_script.js" file.
````r
perpustakaan (mengkilap)
perpustakaan (shinyjs)
perpustakaan (di sini)
mengkilap::mengkilapApp(
ui = mengkilap::fluidPage(
mengkilapjs::gunakanShinyjs(),
tag$kepala(
mengkilapjs::extendShinyjs(script = di sini::di sini("www", "custom_script.js")),
),
mengkilap::pilihInput(
"wilayah", "Wilayah: ",
c("Amerika", "Eropa", "Timur Tengah")
),
), server = fungsi (masukan, keluaran, sesi) {
mengkilap::observeEvent(input$region, {
js$filterSingleValue("Wilayah", masukan$wilayah)
})
}
)
Apakah itu sesuatu yang berhubungan dengan cara saya menelepon atau buruh pelabuhan memerlukan beberapa input tambahan? Saya menggunakan gambar rocker/shiny dengan libv8 terpasang
Hmm itu pasti bug. Dan saya pikir saya punya ide bagus mengapa itu terjadi. Ketika saya memeriksa file, saya hanya melihat jalur absolut, dan tidak memperhitungkan jalur sumber daya (yang ditambahkan dengan addResourcePath()
).
Karena itu, saya tidak menyarankan menggunakan here::here
untuk sumber daya yang mengkilap, fungsi itu sangat bagus untuk skrip interaktif, tetapi untuk mengkilap saya sarankan untuk lebih eksplisit tentang di mana file tinggal
Hai,
menulis dalam masalah ini karena tampaknya terkait: Saya juga menggunakan wadah buruh pelabuhan untuk menyebarkan aplikasi yang mengkilap (lihat repositori MetaShARK* saya jika tertarik dengan detailnya) dan beberapa fitur {shinjs} seperti onclick()
tidak kerja. Lingkungan dev dan deploy saya sedikit berbeda (Ubuntu 19.04 di dev dan 18.04 di server).
Jika Anda dapat memberikan contoh lengkap yang dapat direproduksi, itu akan memudahkan saya untuk menguji/men-debug
Saya tidak akan punya waktu segera untuk mengerjakan reprex seperti itu TAPI karena saya pikir ini dapat membantu Anda, saya akan mencoba sesegera mungkin. Saya pikir ini akan menjadi aplikasi buruh pelabuhan yang siap untuk digunakan. Bagaimanapun, terima kasih telah menjawab :)
Jangan khawatir, ini terdengar seperti masalah yang rumit jadi saya tidak tahu kapan saya akan menemukan waktu untuk memeriksanya juga :)
@gadepallivs dan @earnaud : versi terbaru dari shinyjs (belum di CRAN, tetapi di github) semoga memperbaiki ini. Saya harus membuat PERUBAHAN BREAKING untuk mendukung ini, tetapi ini adalah perubahan yang harus dilakukan. Sekarang file javascript sedang dimuat dengan cara yang sama seperti sumber daya web lain dalam glossy dimuat.
Komentar yang paling membantu
@gadepallivs dan @earnaud : versi terbaru dari shinyjs (belum di CRAN, tetapi di github) semoga memperbaiki ini. Saya harus membuat PERUBAHAN BREAKING untuk mendukung ini, tetapi ini adalah perubahan yang harus dilakukan. Sekarang file javascript sedang dimuat dengan cara yang sama seperti sumber daya web lain dalam glossy dimuat.