错误TS5023:未知的编译器选项'p'

ras*_*mnb 5 visual-studio-code angular

我在Visual Studio代码中运行任务时遇到此问题.这是屏幕截图供参考.

在此输入图像描述

这是tasks.json的代码

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "tsc",
    "isShellCommand": true,
    "args": ["-p", "."],
    "showOutput": "always",
    "problemMatcher": "$tsc"
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.json的代码

{
  "compilerOptions": {
    "noImplicitAny": true,
    "noEmitOnError": true,
    "sourceMap": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node"
  },
  "exclude": [
    "node_modules",
    "wwwroot",
    "typings"
  ],
  "compileOnSave": true
}
Run Code Online (Sandbox Code Playgroud)

systemjs.config.js的代码

/**
 * System configuration for Angular 2 samples
 * Adjust as necessary for your application needs.
 */
(function (global) {
    // map tells the System loader where to look for things
    var map = {
        'app': 'app', // 'dist',
        '@angular': 'node_modules/@angular',
        'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
        'rxjs': 'node_modules/rxjs'
    };
    // packages tells the System loader how to load when no filename and/or no extension
    var packages = {
        'app': { main: 'main.js', defaultExtension: 'js' },
        'rxjs': { defaultExtension: 'js' },
        'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' },
    };
    var ngPackageNames = [
      'common',
      'compiler',
      'core',
      'http',
      'platform-browser',
      'platform-browser-dynamic',
      'router',
      'router-deprecated',
      'upgrade',
    ];
    // Individual files (~300 requests):
    function packIndex(pkgName) {
        packages['@angular/' + pkgName] = { main: 'index.js', defaultExtension: 'js' };
    }
    // Bundled (~40 requests):
    function packUmd(pkgName) {
        packages['@angular/' + pkgName] = { main: pkgName + '.umd.js', defaultExtension: 'js' };
    };
    // Most environments should use UMD; some (Karma) need the individual index files
    var setPackageConfig = System.packageWithIndex ? packIndex : packUmd;
    // Add package entries for angular packages
    ngPackageNames.forEach(setPackageConfig);
    var config = {
        map: map,
        packages: packages
    }
    System.config(config);
})(this);
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题我不知道我做错了什么.

aar*_*ron 5

seairth 是正确的,

你可以运行tsc --version看看是不是你刚安装的新版本的tsc,或者tsc --help看看-p是不是支持的选项,比如我已经安装了新版本2.5.2,但是运行的tsc --version时候总是报错1.0.3

应该是路径冲突引起的,从PATH环境中删除Microsoft SDK中的tsc路径,例如C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;应该可以解决问题。


sea*_*rth 1

您可能正在运行旧版本的 TypeScript,该版本是与其他软件包(例如Microsoft SDK)一起安装的。打开控制台并执行tsc. 确保它是您期望的版本。如果没有,那么您将需要更正path环境变量以确保首先找到正确的版本。