如何在meteor1.3 typescript项目中提供全球范围内的tether/任何其他内容?

如何在meteor1.3 typescript项目中提供全球范围内的tether/任何其他内容?,meteor,typescript,webpack,angular2-meteor,Meteor,Typescript,Webpack,Angular2 Meteor,我几乎不想让我现有的ng2原型在meteor1.3中运行。到目前为止,我正在使用webpack构建原型,并且有一个提供插件,可以在模块构建过程中使用jQuery或Tether: plugins: [ new ProvidePlugin({ $: "jquery", jQuery: "jquery", "window.jQuery": "jquery", "window.Tether": "tether" }) ] 正如您所看到的,我对“tethe

我几乎不想让我现有的ng2原型在meteor1.3中运行。到目前为止,我正在使用webpack构建原型,并且有一个提供插件,可以在模块构建过程中使用jQuery或Tether:

plugins: [
  new ProvidePlugin({
     $: "jquery",
     jQuery: "jquery",
     "window.jQuery": "jquery",
     "window.Tether": "tether"
  })
]
正如您所看到的,我对“tether”也做了同样的操作,因为它仍然是Bootstrap4Alpha所需要的库

现在我想知道如何在meteor1.3项目中实现同样的效果。。?正如在包“angular2 meteor”的变更日志中所写,它现在正在使用引擎盖下的webpack来构建一切


所以,在meteor1.3中应该可以再次使用相同的提供插件,对吗?但是如何?

来自github发行的“angular2 meteor”线程:

有多种方法:您可以安装,或者, 由于Meteor 1.3现在更喜欢NPM,您可以在使用bootstrap 4之前安装Tether NPM并需要它,或者,如果您想要更多的控制和模块化,您可以创建自己的本地包(在packages文件夹中),其中包含您需要的所有依赖项(从NPMs添加),包括Tether(类似于angular2运行时在本repo中的方式)

我会尝试一下,我已经确信这会奏效:)许多thx@barbatus;)

更新:

好的,我将使用npm软件包解决方案,我已经安装了tether。如果没有,请先执行以下操作:

npm install --save tether
现在,单用
require
语句是不够的。。我试图完全包含的引导程序4要求提供一个
window.Tether
函数。所以我就这样做了:

let Tether = require('tether');
window.Tether = Tether;

// import all bootstrap javascript plugins
require('bootstrap');
酷的是,现在还有一个打字定义文件,只需通过运行以下命令添加它:

typings install --save --ambient tether
将其添加到窗口全局上下文后,错误将消失。。。但是好的,通过WebpackProvide插件的解决方案感觉更干净->它将在构建期间为每个模块分别提供Tether对象,因此它最终不会生活在窗口全局上下文中。但我很幸运现在能运行它:)

PS:jQuery是meteor提供的,这就是为什么仅仅包括tether就足以让它运行的原因


更新:是的,默认情况下包含jQuery-但它只是您的/.meteor/packages文件中的一个包;)

来自github发行的“angular2 meteor”线程:

有多种方法:您可以安装,或者, 由于Meteor 1.3现在更喜欢NPM,您可以在使用bootstrap 4之前安装Tether NPM并需要它,或者,如果您想要更多的控制和模块化,您可以创建自己的本地包(在packages文件夹中),其中包含您需要的所有依赖项(从NPMs添加),包括Tether(类似于angular2运行时在本repo中的方式)

我会尝试一下,我已经确信这会奏效:)许多thx@barbatus;)

更新:

好的,我将使用npm软件包解决方案,我已经安装了tether。如果没有,请先执行以下操作:

npm install --save tether
现在,单用
require
语句是不够的。。我试图完全包含的引导程序4要求提供一个
window.Tether
函数。所以我就这样做了:

let Tether = require('tether');
window.Tether = Tether;

// import all bootstrap javascript plugins
require('bootstrap');
酷的是,现在还有一个打字定义文件,只需通过运行以下命令添加它:

typings install --save --ambient tether
将其添加到窗口全局上下文后,错误将消失。。。但是好的,通过WebpackProvide插件的解决方案感觉更干净->它将在构建期间为每个模块分别提供Tether对象,因此它最终不会生活在窗口全局上下文中。但我很幸运现在能运行它:)

PS:jQuery是meteor提供的,这就是为什么仅仅包括tether就足以让它运行的原因


更新:是的,默认情况下包含jQuery-但它只是您的/.meteor/packages文件中的一个包;)

嗨@jebbie,如果你成功并解释了这一点,那就太棒了!您好@HongboMiao,我已经尝试了安装tether npm包的解决方案,在我需要引导之前需要它,我想它可以工作了,错误消失了。。我现在被我的templateUrl绊住了-我的meteor应用程序无法满足文件的GET请求。。我想我丢失了一个api.addFiles,但是,我只知道目前为止,从软件包。。进一步调查^^^真棒,要以正确的方式添加模板,请使用moduleId:我运气不好,我会再等几天,直到angular2-meteor1.3问世。这是你的问题和答案,你需要自己接受。哈哈,是的,我在周末也破坏了我的设置,更新到了rc13和最新的angular2 meteor。。但我猜这是基于angular的新beta.12版——哈哈哈,当我回答我自己的问题时,我不记得那些规则了^^Hi@jebbie,如果你成功解释了,那将是很棒的!您好@HongboMiao,我已经尝试了安装tether npm包的解决方案,在我需要引导之前需要它,我想它可以工作了,错误消失了。。我现在被我的templateUrl绊住了-我的meteor应用程序无法满足文件的GET请求。。我想我丢失了一个api.addFiles,但是,我只知道目前为止,从软件包。。进一步调查^^^真棒,要以正确的方式添加模板,请使用moduleId:我运气不好,我会再等几天,直到angular2-meteor1.3问世。这是你的问题和答案,你需要自己接受。哈哈,是的,我在周末也破坏了我的设置,更新到了rc13和最新的angular2 meteor。。但我猜这是基于我的例子中angular的新beta.12版-哈哈哈,当我回答自己的问题时,我不记得那些规则^^