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

时间:2016-07-04 19:38:37

标签: angular visual-studio-code

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

enter image description here

这是 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"
}

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
}

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);

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

2 个答案:

答案 0 :(得分:4)

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\;应解决问题。

答案 1 :(得分:1)

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