私はこの問題と数日間戦ってきました。これはうまくいくように見えます。バイヤーは注意してください、これは最小限の実用的なソリューションであり、きれいでも最適でもありません-より良いソリューションは大歓迎です!
まず、 で.ipython/<profile>/static/custom/myScript.js
、require.js マジックを実行します。
define(function(){
var foo = function(){
console.log('bar');
}
return {
foo : foo
}
});
このパターンを必要な数の関数にコピーします。次に、 で.ipython/<profile>/static/custom/custom.js
、それらを永続的なものにドラッグします。
$([IPython.events]).on('notebook_loaded.Notebook', function(){
require(['custom/myScript'], function(custom){
window.foo = custom.foo;
} );
});
はい、私はあなたが適切だと思うように、ウィンドウオブジェクト、名前空間に何かを投げる恐ろしい人です。しかし、今ノートブックでは、次のようなセル
%%javascript
foo();
ユーザーが JS を明示的にインポートしなくても、本来あるべき姿を正確に実行する必要があります。このためのより簡単な解決策を見たいと思っています (plz 開発者は、多数のグローバル JS 関数をロードするため$.getScript('/static/custom/util.js');
にcustom.js
必要な場合があります) - しかし、これは私が今のところ持っている最高のものです. この歌と踊りは別として、IPython ノートブック チームにとって非常に大きなものです。これは素晴らしいプラットフォームです。