首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有类型冲突的SystemJS?

带有类型冲突的SystemJS?
EN

Stack Overflow用户
提问于 2015-10-30 08:39:14
回答 1查看 396关注 0票数 2

我正在尝试为现有的SystemJS +类型记录应用程序配置AngularJS。

我在加载模块时遇到了问题:当我使用这个语法时:

import module1 from './path-to-module1'

TS编译器很高兴,但是SystemJS找不到这个模块。经过一番调查,我在文档中找到了SystemJS:

代码语言:javascript
复制
System.defaultJSExtensions = true;

// requests ./some/module.js instead
System.import('./some/module');

酷,现在TS编译器和SystemJS都在工作。但是,SystemJS文档显示:

请注意,这是转换为使用显式扩展的兼容性属性,以后将不再推荐。

因此,我认为应该在加载模块时添加一个.js扩展,如下所示(删除'defaultJSExtensions = true‘标志):

import module1 from './path-to-module1.js'

现在SystemJS知道如何加载我的模块了,TS编译器说:

Cannot find module './path-to-module1.js'

我怎样才能让TS弄明白这一点?应该手动将所有模块添加到*.d.ts文件中吗?多么?

10倍!

编辑

我找到了这个职位,我想这应该是我需要做的。我在我的Grunt档案里找到了这个:

代码语言:javascript
复制
typescript: {
      build: {
        src: ...,
        outDir: '...',
        reference: 'reference.ts',
        options: {
          target: 'es5',
          sourceMap: false,
          declaration: false,
          removeComments: false,
          experimentalDecorators: true,
          module: 'commonjs'
        }
      }
    }

但是,将commonjs改为system无助于hree..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-30 21:50:57

别担心,SystemJS文档有点误导.一旦他们删除了defaultJSExtension,您就可以将代码目录标记为包(在systemJS配置中),您可以阅读有关它的信息。

无论如何,没有扩展名的文件名是一个有效的ES6模块导入语法,所以SystemJS必须支持它,正如我所说的,他们将使用不同的配置方式来支持它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33431720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档