首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >业力在使用es6-转换-业力类型记录转换文件时被卡住。

业力在使用es6-转换-业力类型记录转换文件时被卡住。
EN

Stack Overflow用户
提问于 2021-08-16 14:19:30
回答 1查看 275关注 0票数 0

我正在尝试建立一个包含类型记录、业力和摩卡的单元测试框架,使用karma-typescript进行转换,使用es6-transform-karma-typescript将es6代码转换为与浏览器兼容的es5代码。在我的例子中,工作流停留在下面的一行。

代码语言:javascript
复制
16 08 2021 19:34:35.898:INFO [compiler.karma-typescript]: Compiled 64 files in 6103 ms.
16 08 2021 19:34:36.422:DEBUG [bundler.karma-typescript]: Project has 247 import/require statements, code will be bundled
**16 08 2021 19:34:36.500:DEBUG [es6-transform.karma-typescript]: Transforming /Users/test/sourcecode/test-web-ui/src/app/Memory.js**

以下是我的tsconfig.json设置和karma.conf设置。

karma.conf:

代码语言:javascript
复制
const {dirname, join, resolve} = require("path");

module.exports = (config) => {
    config.set({
        plugins: ['karma-chrome-launcher', 'karma-mocha', 'karma-typescript', 'karma-webpack', 'webpack','karma-mocha-reporter'],
        frameworks: ['mocha', 'karma-typescript'],
        preprocessors: {
            "**/*.ts": ["karma-typescript"],
            "**/*.tsx": ["karma-typescript"] // *.tsx for React Jsx
        },
        logLevel: config.LOG_DEBUG,
        browsers: ['Chrome'],
        singleRun: true,
        autoWatch: false,
        color:true,
        reporters: ["mocha", "karma-typescript"],
        files: [{ pattern: "src/**/*.ts" }, {pattern: "src/**/*.tsx" }],
        karmaTypescriptConfig: {
            stopOnFailure: true,
            bundlerOptions: {
                acornOptions: {
                    ecmaVersion: 8,
                  },
                transforms: [
                    require("karma-typescript-es6-transform")({
                        presets: [require("@babel/preset-env")]
                    })
                ]
            },
            compilerOptions: {
                target: "ES2015",
                lib: ["ESNext", "dom"],
                module: "CommonJS",
                incremental: false
            },
            tsconfig: "testing.tsconfig.json"
        }
    });
}

tsconfig.json:

代码语言:javascript
复制
{
    "compilerOptions": {
        "target": "ES2017",
        "module": "CommonJS",
        "incremental": true,
        "noUnusedParameters": false,
        "sourceMap": true,
        "jsx": "react",
        "strict": true,
        "esModuleInterop": true,
        "declaration": true,
        "declarationMap": true,
        "skipLibCheck": true,
        "forceConsistentCasingInFileNames": true,
        "lib": [
          "dom",
          "dom.iterable",
          "esnext"
        ],
        "allowJs": true,
        "allowSyntheticDefaultImports": true,
    
        "noFallthroughCasesInSwitch": true,
        "moduleResolution": "node",
        "resolveJsonModule": true,
        "isolatedModules": true
      },
    "include": ["src/**/*.ts","src/**/*.tsx"],
    "exclude": ["node_modules"]
}

我在package.json中使用下面的命令运行测试。

“测试”:“业力启动karma.conf.js --日志级=调试”,

任何人请你帮忙找出这个问题。

EN

回答 1

Stack Overflow用户

发布于 2021-08-16 23:33:34

我有一个问题有一段时间,它是令人沮丧的。我找到了答案,这里。显然,“橡子”需要运行版本8或带有“业力类型记录-es6-转换”。

最棘手的部分是上面发布的链接显示他们已经解决了这个问题。而且他们确实有!如果您检查您的包-lock.json并搜索"acorn“,您可能会发现一些需要"acorn”的依赖项,如果您向下滚动到“业力-类型-ES6转换”,您会发现它需要“橡子”,并且正在运行一个版本的^8.x.x。这就是我发现自己的地方,而且汇编还在悬着。

问题是,我的主要“橡子”依赖仍然是在版本^7.x.x上,即使“业力-类型记录-ES6-转换”需要一个雇用版本,节点不尊重这一要求,并使用主要的“橡子”依赖版本。

我现在的解决办法是将acorn安装为一个dev依赖项,这样我就可以确定我会得到最新的版本:npm i --save-dev acorn尝试一下。

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

https://stackoverflow.com/questions/68804419

复制
相关文章

相似问题

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