【问题标题】:Browserify, Babel and file extensionsBrowserify、Babel 和文件扩展名
【发布时间】:2016-08-02 19:45:52
【问题描述】:

我正在使用 Browserify、Babel、gulp 并注意到一个奇怪的行为。

假设我有一个名为“./lib.js”的文件。是 ES6,我应该可以同时使用这两种语法:

import lib from "./lib.js"
import lib from "./lib"

但是,第一种语法总是有效的,但对于某些模块,第二种则无效。我得到的是一个空对象,而不是我的导出对象。

无论我们是否包含扩展,browserify 的行为是否不同?它对我们应该如何申报出口有额外的限制吗?

实际上这是一个问题,因为我最近在我的项目中添加了 Typescript,tsify。出于某种原因,当我导入从 typescript 编译的文件时,我必须指定 .js 扩展名(没有它就无法工作)。但是当我从另一个.ts 文件导入.ts 文件时,我不想指定扩展名,因为我希望Typescript 拾取.ts 文件(当我不指定扩展名时它会这样做)和 Browserify 拾取已编译的 js 文件(它也这样做但无法识别模块)。

【问题讨论】:

    标签: typescript gulp browserify babeljs tsify


    【解决方案1】:

    由于某种原因,当我导入从 typescript 编译的文件时,我必须指定 .js 扩展名(没有它就无法工作)。

    这是因为 TypeScript 可能无法检测到 js 文件。请将allowJs 添加到您的编译器选项中。

    更多

    我制作了一个视频,展示了 allowJs 的使用情况及其影响,您可能会觉得有帮助:https://www.youtube.com/watch?v=gmKXXI_ck7w

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-16
      相关资源
      最近更新 更多