使用TypeScript时如何创建特定的JS包?

时间:2019-03-11 19:29:38

标签: javascript asp.net-mvc visual-studio typescript

我们有一个包含大量JavaScript代码的ASP.NET MVC应用程序。

要减少加载到浏览器中的不必要的JS数量,我们使用BundleConfig.cs文件生成多个捆绑包。然后在View上,我们可以说:

  

“如果用户可以使用功能A,则包括捆绑软件A”

因此,最终用户不仅仅获得与他们的要求有关的JS,而且JS也仅存在于与之相关的页面上。这为我们提供了一种在页面加载时初始化代码的非常简单的方法:

$(featureA.init);

迁移到TypeScript(当前版本3.3)...

在Visual Studio 2017中,该项目的TypeScript Build选项卡下,我看到一个复选框“将JavaScript输出合并到文件:”,其中可以指定文件名(可用于捆绑)。

  • 这给了我一个站点范围的JS捆绑包,需要我为所有人提供一切。
  • on-page-load事件不再是一个好选择,因为JS文件在不相关的页面上可用,因此在'init()'函数中触发的jQuery选择器现在当然会抱怨因为用户未查看相关页面而无法在DOM中找到某些对象。

我想念什么吗? Visual Studion 2017中的TypeScript可以满足这些要求吗?

1 个答案:

答案 0 :(得分:1)

将Webpack用作依赖项捆绑程序,它应该执行您想要的操作: https://webpack.js.org/guides/typescript/

它有一些很酷的插件,例如CommonsChunkPlugin,可以为您提供所需的东西-例如共享模块,以使其在浏览器中更容易使用。 此外,Webpack还具有其他一些插件,例如ExtractTextWebpackPluginMiniCssExtractPlugin,这使您只能从较大的软件包中选择一个项目,就像您希望在项目中那样。