# 共通ライブラリの配置について

**URL:** https://community.cybozu.dev/t/topic/6187
**Category:** kintone 開発相談
**Created:** [2022 年 7 月 22 日午前 10:10 UTC](https://community.cybozu.dev/t/topic/6187 "2022-07-22T10:10:37Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Legacy\_Account2902](https://avatars.discourse-cdn.com/v4/letter/l/ad7895/32.png) [@Legacy\_Account2902](https://community.cybozu.dev/u/Legacy_Account2902)
#### Post date: [2022 年 7 月 22 日午前 10:10 UTC](https://community.cybozu.dev/t/topic/6187/1 "2022-07-22T10:10:37Z")

</div>

社内の販売管理システムをKintoneで構築していて、カスタマイズの際に複数アプリで共通処理が発生する場合の、共通処理コードに関する質問です。

現状は、同じ処理(関数)でも、コピーを各アプリごとに配置しています。しかしこの方法は、共通処理のメンテナンス上、あまり好ましくない状況と認識しています。

共通処理をプラグイン化して汎用的にするのが理想かと思いますが、まだそこまでのレベルに到達していません。

共通処理の.jsファイルを別サーバに置いて、「アプリの設定 \> JavaScript / CSSでカスタマイズ」でURLをリンクする方法を考えましたが、.jsファイルがオープンになってしまい別の方法を探しています。

複数アプリをまたぐ共通処理はどのように配置するのが一般的でしょうか。情報お持ちの方、ご教授頂ければ幸いです。

---

<div class="post-metadata">

### Author: ![Legacy\_Account2613](https://avatars.discourse-cdn.com/v4/letter/l/41988e/32.png) [@Legacy\_Account2613](https://community.cybozu.dev/u/Legacy_Account2613)
#### Post date: [2022 年 7 月 22 日午前 11:05 UTC](https://community.cybozu.dev/t/topic/6187/2 "2022-07-22T11:05:13Z")

</div>

> 共通処理をプラグイン化して汎用的にするのが理想かと思いますが、まだそこまでのレベルに到達していません。共通処理の.jsファイルを別サーバに置いて、…

確かにプラグインを作るのに手間かかりますね。別サーバではなく、Kintone全体カスタマイズはいかがですか。

[https://jp.cybozu.help/k/ja/admin/javascript\_fullcustomize.html](https://jp.cybozu.help/k/ja/admin/javascript_fullcustomize.html)

私も社内で、以上のやり方で、全アプリのグラフ画面に「印刷」と「PDF」ボタンを配置しました。

社内用ライブラリ「同じ処理(関数)」も実装出来ると思います。

簡単に出来るのはメリットですが、Kintone全体のカスタマイズなので、必要としないアプリでもロードされます。

私個人は、全アプリのカスタマイズを[ものレポ](https://circleci.com/ja/blog/monorepo-dev-practices/#:~:text=Monorepo(%E3%83%A2%E3%83%8E%E3%83%AC%E3%83%9D)%E3%81%A8%E3%81%AF%E3%80%81,%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82)で管理し、[Webpack](https://community.cybozu.dev/hc/ja/articles/360040220451-%E7%9B%AE%E6%8C%87%E3%81%9B-JavaScript%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E4%B8%AD%E7%B4%9A%E8%80%85-%EF%BC%91-webpack%E7%B7%A8-)でコンパイルします。[コマンド](http://developer.cybozu.io/hc/ja/articles/360015889812-customize-uploader%E3%81%A7%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E7%94%A8%E3%81%AEJS-CSS%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%8B%E3%82%89%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%82%88%E3%81%86-)で簡単アップロードします。

``

---

<div class="post-metadata">

### Author: ![Legacy\_Account1742](https://avatars.discourse-cdn.com/v4/letter/l/5fc32e/32.png) [@Legacy\_Account1742](https://community.cybozu.dev/u/Legacy_Account1742)
#### Post date: [2022 年 7 月 25 日午前 4:09 UTC](https://community.cybozu.dev/t/topic/6187/3 "2022-07-25T04:09:08Z")

</div>

１案として。

共通処理をモジュール化して、Webpack で利用するのも方法としてはあるかなと思いました。  
まぁ、、、でも共通化してる部分を修正した場合、利用している（読み込んでいる）アプリ全部ビルドが必要になってしまいますが。

---

<div class="post-metadata">

### Author: ![Legacy\_Account2476](https://avatars.discourse-cdn.com/v4/letter/l/c0e974/32.png) [@Legacy\_Account2476](https://community.cybozu.dev/u/Legacy_Account2476)
#### Post date: [2022 年 7 月 25 日午前 6:25 UTC](https://community.cybozu.dev/t/topic/6187/4 "2022-07-25T06:25:52Z")

</div>

sbonjack 様

こんにちは。

初歩的な疑問なんですけど。。。

&nbsp;

\> 共通処理の.jsファイルを別サーバに置いて、「アプリの設定 \> JavaScript / CSSでカスタマイズ」でURLをリンクする方法を考えましたが、.jsファイルがオープンになってしまい別の方法を探しています。

上記の部分の『jsファイルがオープンになってしまい…』って部分ですけど、フロントで運用していればプラグインを利用しようが、URLでリンクから読み込みするようにしようがオープンになりませんか？

そもそもリンク先が、パブリックになってるってことでしょうか？

もしそうだったら、ACLである程度コントロールしてみればいいのではないでしょうか？

---

<div class="post-metadata">

### Author: ![Legacy\_Account2902](https://avatars.discourse-cdn.com/v4/letter/l/ad7895/32.png) [@Legacy\_Account2902](https://community.cybozu.dev/u/Legacy_Account2902)
#### Post date: [2022 年 7 月 25 日午後 10:31 UTC](https://community.cybozu.dev/t/topic/6187/5 "2022-07-25T22:31:55Z")

</div>

皆様、あたたかいご返信ありがとうございます。

\>Lorenz Ras 様

全体カスタマイズは使えそうですね。全アプリで読み込まれるので配置する内容・ボリュームは精査する必要がありますね。

\>細谷 崇 様

お恥ずかしながらWebpackの存在を知りませんでした。カスタマイズコード全体の保守性を上げるためにも有効ですね。この辺を読んで勉強・導入してみたいと思います。

[目指せ！JavaScriptカスタマイズ中級者（１） 〜webpack編〜 – cybozu developer network](https://community.cybozu.dev/hc/ja/articles/360040220451-%E7%9B%AE%E6%8C%87%E3%81%9B-JavaScript%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E4%B8%AD%E7%B4%9A%E8%80%85-%EF%BC%91-webpack%E7%B7%A8-)

\>新屋 育男 様

お恥ずかしながら初学者なため基礎的なことが理解できておりません。。Kintone内に配置したカスタマイズコードについては、Kintoneユーザでのアクセス制御下に置かれるのは間違っていないでしょうか。組織内のユーザにはコードは見え、組織外のユーザにコードが公開されない状態になれば自分の要件としては満たします。

質問時は、リンク先がパブリックになっている前提でお話をしていました。ですが、新屋様の仰る通り、リンク先自体にアクセス制御をかければ要件を満たしますね。皆さんが一般的にどのような方法をとっているか伺いたく質問させていただきました。

大変勉強になりました！皆様ありがとうございました！

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)
#### Post date: [2024 年 10 月 4 日午前 8:14 UTC](https://community.cybozu.dev/t/topic/6187/6 "2024-10-04T08:14:06Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
