node.js - TypeScript-typningar trasiga (fel TS2687): Alla deklarationer av 'iterator' måste ha identiska modifikatorer
Jag har problem med att få mina typningar korrekt efter att jag har lagt till router-paketet i min Angular-applikation (vilket krävde en uppgradering av Core, Common, Compiler osv.).
Att googla det specifika felkoden ledde mig till ett antal problem, där den huvudsakliga lösningen är att ta bort node_modules och typings och återskapa dem. Jag har gjort det men upplever samma felbeteende.
På SO finns det en annan fråga men den är gammal, gäller olika versioner av de flesta paketen och jag ser knappt hur den relaterar till mitt problem.
Ärligt talat är jag lite vilse eftersom jag inte har någon aning om hur man felsöker det alls. Nedan är min tsconfig.json om det hjälper att upptäcka något konstigt.
redigera
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" }])
]
}
Svar #1
I Webpack.common.js ta bort raden debug=true, och ändra koden nedan
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']
}),
