草庐IT

javascript - 在 Angular4 Webpack Starter 中,tsconfig.webpack.json 是否适用于 webpack 而 tsconfig.json 适用于其他所有内容?

coder 2025-03-31 原文

请引用此 git 存储库:https://github.com/AngularClass/angular-starter

Angular4 Webpack Starter 带有 2 个文件:

tsconfig.json

tsconfig.webpack.json

每个文件的 TypeScript 配置略有不同。

我的问题是关于这两个文件如何与项目相关。

tsconfig.webpack.json 是否只适用于 Webpack 使用的 ts-loader?而 tsconfig.json 文件将应用于其他一切?

如有任何关于 tsconfig.webpack.json 的信息,我们将不胜感激。

最佳答案

简短的回答是肯定的。向 Webpack 注册的 TypeScript 加载器明确配置为使用 tsconfig.webpack.json 文件。 This can be observed on line 133 of the common configuration . tsconfig.json 文件用于 IDE 支持。

值得注意的是,虽然您声明模板使用 ts-loader,但它实际上使用了 awesome-typescript-loader

话虽如此,默认情况下,两个加载程序都会尝试获取名为 tsconfig.json 的文件,并且模板会在链接行上明确覆盖此行为。

虽然人们可能希望在项目中使用多个 TypeScript 脚本配置文件的原因有多种,但编辑器(例如 Visual Studio Code)使用名为 tsconfig.json 的文件来增强功能例如智能感知,设置各种选项,并确定项目的范围。

为两者使用相同的文件是非常合理的,这实际上是默认情况下发生的情况。

备注

请注意 AngularClass模板非常臃肿和复杂。考虑到它是一个起点,您无疑会添加它,您开始通过将您的应用程序基于这样的模板而产生的不必要的样板和垃圾的数量应该非常认真地考虑考虑。如果您不熟悉所涉及的任何工具、转译器或框架,这会加倍。

顺便说一句,我实际上是该存储库的贡献者。他们拿了pull request从我这里改变了一个实用功能,有人提出了一个令人困惑的问题。有趣的是,在我提交改进它的 PR 之前很久,我就已经从我们的项目中删除了这个功能。

在一个派生自他们的模板之一的项目上工作后,我浪费了很多时间来删除不需要但妨碍的 Webpack 配置相关代码。我们最终只得到了大约 100 行 Webpack 配置。我过去不是,现在也不是 Webpack 的忠实粉丝(JSPM 胜出),但是 Webpack 并没有被模板很好地利用。许多不必要的工作正在做,这实际上让 Webpack 看起来比实际更复杂。整个帮助文件基本上毫无值(value),而且与 Webback、TypeScript 甚至 Angular 都没有任何关系。

这也有点麻烦,因为 Angular 类网站出售培训 Material 。这在原则上或实践中都没有错,但除了本已复杂的工具链中固有的内容之外,它们还造成了很多复杂性。

关于javascript - 在 Angular4 Webpack Starter 中,tsconfig.webpack.json 是否适用于 webpack 而 tsconfig.json 适用于其他所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46414109/

有关javascript - 在 Angular4 Webpack Starter 中,tsconfig.webpack.json 是否适用于 webpack 而 tsconfig.json 适用于其他所有内容?的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  3. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

    在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

  4. ruby-on-rails - 跳过状态机方法的所有验证 - 2

    当我的预订模型通过rake任务在状态机上转换时,我试图找出如何跳过对ActiveRecord对象的特定实例的验证。我想在reservation.close时跳过所有验证!叫做。希望调用reservation.close!(:validate=>false)之类的东西。仅供引用,我们正在使用https://github.com/pluginaweek/state_machine用于状态机。这是我的预订模型的示例。classReservation["requested","negotiating","approved"])}state_machine:initial=>'requested

  5. ruby - Nokogiri 剥离所有属性 - 2

    我有这个html标记:我想得到这个:我如何使用Nokogiri做到这一点? 最佳答案 require'nokogiri'doc=Nokogiri::HTML('')您可以通过xpath删除所有属性:doc.xpath('//@*').remove或者,如果您需要做一些更复杂的事情,有时使用以下方法遍历所有元素会更容易:doc.traversedo|node|node.keys.eachdo|attribute|node.deleteattributeendend 关于ruby-Nokog

  6. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  7. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

  8. ruby - inverse_of 是否适用于 has_many? - 2

    当我使用has_one时,它​​工作得很好,但在has_many上却不行。在这里您可以看到object_id不同,因为它运行了另一个SQL来再次获取它。ruby-1.9.2-p290:001>e=Employee.create(name:'rafael',active:false)ruby-1.9.2-p290:002>b=Badge.create(number:1,employee:e)ruby-1.9.2-p290:003>a=Address.create(street:"123MarketSt",city:"SanDiego",employee:e)ruby-1.9.2-p290

  9. ruby-on-rails - 如何使用 Rack 接收 JSON 对象 - 2

    我有一个非常简单的RubyRack服务器,例如:app=Proc.newdo|env|req=Rack::Request.new(env).paramspreq.inspect[200,{'Content-Type'=>'text/plain'},['Somebody']]endRack::Handler::Thin.run(app,:Port=>4001,:threaded=>true)每当我使用JSON对象向服务器发送POSTHTTP请求时:{"session":{"accountId":String,"callId":String,"from":Object,"headers":

  10. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

随机推荐