首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在浏览器和测试运行程序中将目标从es5迁移到es6

在浏览器和测试运行程序中将目标从es5迁移到es6
EN

Stack Overflow用户
提问于 2021-12-15 15:53:25
回答 1查看 95关注 0票数 0

我在打字稿里有一些代码

  • DTMEdge.ts
  • DTMNode.ts
  • DTreeMap.ts

编译后产生的

  • DTMEdge.js
  • DTMNode.js
  • DTreeMap.js

  • wwwroot
    • js
      • dtree

基本上,每个ts文件看起来都像

代码语言:javascript
复制
export class DTxxx {
    ....
}

DTreeMap.ts从

代码语言:javascript
复制
import { DTMEdge } from "./DTMEdge";
import { DTMNode } from "./DTMNode";

"target": "es5"中使用tsconfig.json,我可以:

  • 通过

导入浏览器中的结果代码。

代码语言:javascript
复制
    <script src="/js/dtree/DTMEdge.js"></script>
    <script src="/js/dtree/DTMNode.js"></script>
    <script src="/js/dtree/DTreeMap.js"></script>

  • 使用mocha运行测试,测试文件以:

开头

代码语言:javascript
复制
    const assert = require('assert');
    const { DTMEdge} = require('../wwwroot/js/dtree/DTMEdge.js');
    const { DTMNode } = require('../wwwroot/js/dtree/DTMNode.js');
    const { DTreeMap } = require('../wwwroot/js/dtree/DTreeMap.js');

当我在tsconfig.json中切换到tsconfig.json时,我可以:

  • 通过

导入浏览器中的结果代码。

代码语言:javascript
复制
<script type="module">
    import {DTMNode} from "./js/dtree/DTMNode.js"
    import {DTMEdge} from "./js/dtree/DTMEdge.js"
    import {DTreeMap} from "./js/dtree/DTreeMap.js"

但是,我无法使用以下错误运行我的测试:

代码语言:javascript
复制
...\wwwroot\js\dtree\DTMEdge.js:1
export class DTMEdge {
^^^^^^

SyntaxError: Unexpected token 'export'
...

当我以es6为目标时,我怎样才能让我的测试运行?

EN

回答 1

Stack Overflow用户

发布于 2021-12-16 16:01:59

解决办法是:

filename.mjs

  • edit

  • 将测试文件重命名为.mjs

  • ,相应地将每个文件复制到

  • 测试脚本:

代码语言:javascript
复制
import { DTMEdge } from '../wwwroot/js/dtree/DTMEdge.mjs';
import { DTMNode } from '../wwwroot/js/dtree/DTMNode.mjs';
import { DTreeMap }  from '../wwwroot/js/dtree/DTreeMap.mjs';

package.json编辑

代码语言:javascript
复制
  "scripts": {
    "test": "mocha --recursive './tests/*.*js'"
  }

等等:

npm试验

跑啊。

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

https://stackoverflow.com/questions/70366632

复制
相关文章

相似问题

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