Я не получаю сообщение об ошибке при обновлении системы модулей в tsconfig до commonjs, но тогда файл ничего не загружает (например, я не получаю журналы консоли).Когда я удаляю импорт из файла .ts, он просто отлично работает.Я что-то пропустил?Я тоже пробовал с babel, но получаю тот же результат.(Использование узла 10.15.0)
ОБНОВЛЕНИЕ: Ошибка была вызвана каким-то другим пакетом в package.json, я удалил все пакеты, кроме минимальной.Несмотря на то, что ошибка устранена, я все еще не получаю журналы консоли, когда загруженные файлы js загружаются на веб-сайт.
Ошибка:
Module parse failed: Unexpected token (42:45)
You may need an appropriate loader to handle this file type.
| return __generator(this, function (_a) {
| switch (_a.label) {
> case 0: return [4 /*yield*/, import('conditioner-core/conditioner-core.esm')];
| case 1:
| conditioner = _a.sent();
Конфигурация Webpack:
const path = require("path");
const webpack = require('webpack');
const websiteRootPath = "C:\\inetpub\\wwwroot\\testsite";
module.exports = {
entry: {
"project-1":
"./src/Project1/scripts/index.ts",
"project-2":
"./src/Project2/scripts/index.ts"
},
output: {
filename: "[name].bundle.js",
path: path.resolve(websiteRootPath, "assets\\webpack"),
publicPath: "/assets/webpack/"
},
devtool: "source-map",
module: {
rules: [
{
test: /\.tsx?$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'ts-loader',
}
},
// All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'.
{ enforce: "pre", test: /\.js$/, loader: "source-map-loader" }
]
},
resolve: {
extensions: [".js", ".ts"]
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
]
};
tsconfig.json
{
"compilerOptions": {
"sourceMap": true,
"module": "esnext",
"experimentalDecorators": true,
"moduleResolution": "node",
"target": "es5",
"strict": false,
"lib": ["es2015.promise", "dom", "es5"],
},
"include": [
"./src/**/*"
],
"exclude": [
"**/obj/**/PackageTmp/**/*"
]
}
devDependencies в packages.json:
"devDependencies": {
"@types/jquery": "^3.3.29",
"@types/kendo-ui": "^2018.3.0",
"@types/node": "^10.12.18",
"@types/webpack-env": "^1.13.6",
"acorn": "^6.0.0",
"ajv": "^6.7.0",
"conditioner-core": "^2.3.1",
"source-map-loader": "^0.2.4",
"ts-loader": "^5.3.3",
"typescript": "^3.1.6",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1",
"webpack-merge": "^4.2.1"
}
index.ts:
console.log("before main");
async function main() {
console.log("inside main");
const conditioner = await import('conditioner-core/conditioner-core.esm');
// lets go!
conditioner.hydrate(document.documentElement);
}
main();
console.log("after main");