Babel 7, Typescript, Webpack 4 не переносит Typescript в Javascript - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь добиться базовой конфигурации Babel 7 + Typescript, используя новый способ, чтобы Babel 7 убирал типы Typescript и связывал Javascript.

Будучи новичком с набором инструментов, мне кажется,Я должен преодолеть препятствия и не может понять проблему должным образом, не говоря уже о решении.Или, иначе, я не нахожу хорошего начального проекта из Интернета и не создаю его сам, поэтому я мог бы перейти к более полному решению с обычными вещами, такими как минимизация и заполнение списка браузеров.

Кажется,начало самое трудное, поэтому я надеюсь, что чьи-то глаза гораздо лучше обучены и, возможно, могут подсказать, как получить

Полное решение на здесь (это ASP.NETЯдро, но веб-вещи должны работать без него тоже).В частности, webpack.config.js выглядит как

const path = require("path");
const webpack = require("webpack");
const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin;
const bundleOutputDir = "./wwwroot/dist";

module.exports = (env) =>
{
    const isDevBuild = !(env && env.prod);
return [{
mode: isDevBuild ? "development" : "production",
stats: { modules: false },
resolve: {
  extensions: [".ts", ".js"],
  modules: ["App", "node_modules"]
},
output: {
  path: path.resolve(bundleOutputDir),
  publicPath: "dist/",
  filename: "[name].js"
},
module: {
  rules: [
    { test: /\.ts$/i, include: /App/, use: "ts-loader?silent=true" },
    { test: /\.html$/i, use: "html-loader" },
    { test: /\.css$/i, use: isDevBuild ? "css-loader" : "css-loader?minimize" },
    { test: /\.(png|jpg|jpeg|gif|svg)$/, use: "url-loader?limit=25000" }
  ]
},
plugins: [
  new webpack.optimize.ModuleConcatenationPlugin(),
  new BundleAnalyzerPlugin({ analyzerMode: "static", reportFilename: "./../../bundle_report.html" }),
  new webpack.DefinePlugin({ IS_DEV_BUILD: JSON.stringify(isDevBuild) })
].concat(isDevBuild ? [
  new webpack.SourceMapDevToolPlugin({
    filename: "[file].map",
    noSources: true,
    moduleFilenameTemplate: path.relative(bundleOutputDir, "[resourcePath]")
  })
] : [
    new webpack.optimize.UglifyJsPlugin({
      sourceMap: true,
      uglifyOptions: {
        ie8: false,
        ecma: 8
      },
      output: {
        comments: false,
        beautify: false
      },
      compress: false,
      warnings: false,
      parallel: {
        cache: true
      }
    })
  ])
  }];
};
  1. Что может быть не так с этим, так как он не производит App.js в wwwroot/dist?
  2. Примечание, я должен удалить Uglify и настройка babel-preset-minify (пакет включен).
  3. Обратите внимание, я хотел бы получить наиболее полные наборы карт.
  4. Webpack-bundle-analyzer генерирует кучу предупреждений о совместимости Babel, вероятно, следует удалить.

...