TypeScript打字已损坏(错误TS2687):'iterator'的所有声明必须具有相同的修饰符

时间:2017-03-21 11:27:47

标签: node.js angular typescript typescript-typings

在我将路由器软件包添加到我的Angular应用程序(需要升级Core,Common,Compiler等)之后,我遇到了正确的问题。

使用Google搜索特定的错误代码会导致我遇到许多问题,其主要解决方法是删除 node_modules typings 并重新创建它们。我已经这样做了,但遇到了同样的错误行为。

在SO上,有another question,但它已经过时了,与大多数软件包的不同版本有关,我几乎看不出它与我的问题有什么关系。

坦率地说,我有点失落,因为我根本不知道如何对它进行故障排除。下面是我的 tsconfig.json ,如果它有助于发现奇怪的东西。

修改

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const CopyWebpackPlugin = require("copy-webpack-plugin");

const distribution = path.resolve(__dirname, "distribution");
const application = path.resolve(__dirname, "source/application");
const resources = path.resolve(__dirname, "source/resources");

module.exports = {
  entry: "./source/application/main.ts",
  output: {
    path: distribution,
    filename: "bundle.js"
  },
  module: {
    loaders: [
      { test: /\.png$/, loader: "raw-loader", include: [resources] },
      { test: /\.s(a|c)ss$/, loaders: ["raw-loader", "sass-loader"] },
      { test: /\.html$/, loader: "raw-loader", include: [application] },
      { test: /\.ts$/, loader: "ts-loader", include: [application] },
    ]
  },

  resolve: {
    modules: ["node_modules", application],
    extensions: [".js", ".ts"]
  },

  performance: {},
  devtool: "source-map",
  context: __dirname,
  target: "web",
  externals: [],
  stats: {},

  devServer: {
    contentBase: distribution,
    port: 3002
  },

  plugins: [
    new HtmlWebpackPlugin({ template: "./source/index.html" }),
    new CopyWebpackPlugin([{ from: "./source/resources", to: "resources" }])
  ]
}

1 个答案:

答案 0 :(得分:0)

在Webpack.common.js中删除debug = true行,并更改以下代码

module.exports = {
    entry: {
        'polyfills': './src/polyfills.ts',
        'vendor': './src/vendor.ts',
        'app': './src/main.ts'
    },

    resolve: {
        extensions: ['*', '.js', '.ts']
    },

    module: {
        rules: [
]},
plugins: [
        new webpack.ContextReplacementPlugin(
            // The (\\|\/) piece accounts for path separators in *nix and Windows
            /angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/,
            helpers.root('./src'), // location of your src
            {} // a map of your routes
        ),

        new webpack.optimize.CommonsChunkPlugin({
            name: ['app', 'vendor', 'polyfills']
        }),