如何自定义javascript文件

如何自定义javascript文件,javascript,asp.net,asp.net-mvc,asp.net-core,asp.net-core-mvc,Javascript,Asp.net,Asp.net Mvc,Asp.net Core,Asp.net Core Mvc,我想为我的客户提供从我的服务器到他们网站的JS脚本。我希望集成非常简单。他们要做的就是在页面上添加以下行: <script type="text/javascript" src="http:/myserver.com/client_script.js?some_parameter=some_value"></script> 我想为每个用户提供稍微不同的JS文件。基本上,我想根据一些参数的值添加一些变量 问题是我想做得更有效率。我想到的第一件事是在脚本中放置一些占位符

我想为我的客户提供从我的服务器到他们网站的JS脚本。我希望集成非常简单。他们要做的就是在页面上添加以下行:

<script type="text/javascript" src="http:/myserver.com/client_script.js?some_parameter=some_value"></script>

我想为每个用户提供稍微不同的JS文件。基本上,我想根据
一些参数的值添加一些变量

问题是我想做得更有效率。我想到的第一件事是在脚本中放置一些占位符,然后对文件内容使用stringreplace方法。但是,如果JS文件很大,这可能需要很长时间


有没有一种聪明的方法可以做到这一点?

我建议看看其他第三方插件是如何处理这一点的。为了举例,让我们看一对:

KISSmetrics

<script type="text/javascript">var _kmq = _kmq || [];
var _kmk = _kmk || 'xxx';
function _kms(u){
  setTimeout(function(){
    var d = document, f = d.getElementsByTagName('script')[0],
    s = d.createElement('script');
    s.type = 'text/javascript'; s.async = true; s.src = u;
    f.parentNode.insertBefore(s, f);
  }, 1);
}
_kms('//i.kissmetrics.com/i.js');
_kms('//doug1izaerwt3.cloudfront.net/' + _kmk + '.1.js');
</script>
看看他们是如何提前设置一个迷你api来传递配置数据的。如果你只需要一把钥匙,那么我可能会选择接吻路线。但是,如果你需要传递很多信息,也许像基恩这样的人就可以了。你也可以回到谷歌分析的老路上去

我不知道你怎么想。但看看目前的公司处理这件事的方式应该会对你有所帮助。最重要的是,您希望能够为一个JS文件提供服务,该文件被缓存并可以非常快地发送出去。您肯定不想为每个人生成文件,在这一点上,它将是非常服务器密集型的

<script type="text/javascript">
    var Keen=Keen||{configure:function(e){this._cf=e},addEvent:function(e,t,n,i){this._eq=this._eq||[],this._eq.push([e,t,n,i])},setGlobalProperties:function(e){this._gp=e},onChartsReady:function(e){this._ocrq=this._ocrq||[],this._ocrq.push(e)}};(function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src=("https:"==document.location.protocol?"https://":"http://")+"dc8na2hxrj29i.cloudfront.net/code/keen-2.1.0-min.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();
    Keen.configure({
        projectId: "xxxxxx",
        writeKey: "xxxxxx", // required for sending events
        readKey: "xxxxxx"    // required for doing analysis
    });
</script>