Я пытаюсь добиться базовой конфигурации 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
}
})
])
}];
};
- Что может быть не так с этим, так как он не производит
App.js
в wwwroot/dist
? - Примечание, я должен удалить Uglify и настройка babel-preset-minify (пакет включен).
- Обратите внимание, я хотел бы получить наиболее полные наборы карт.
- Webpack-bundle-analyzer генерирует кучу предупреждений о совместимости Babel, вероятно, следует удалить.