Почему webpack неправильно компилирует ts-файл? - PullRequest
0 голосов
/ 17 июня 2020

У меня на ./src/ts/bundle.ts простая функция, но она выдает ошибку, не знаю почему?

ERROR in ./src/ts/bundle.ts 6:22
Module parse failed: Unexpected token (6:22)
You may need an appropriate loader to handle this file type, currently, no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|  */
|
> function sayHI ( text : string ){
|     console.log ( text );
| }

function sayHI ( text : string ){
    console.log ( text );
}

package. json

{
  "name": "document",
  "version": "1.0.0",
  "description": "",
  "main": "sample.js",
  "scripts": {
    "build": "webpack"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "ts-loader": "^7.0.5",
    "typescript": "^3.9.5",
    "webpack": "^4.43.0",
    "webpack-cli": "^3.3.11"
  }
}

Это файл webpack.config. js

/**
 * 
 * @package Webpack
 * main configuration file for the webpack bundler
 */

const path = require("path");

module.exports = {

    watch: true,
    devtool: 'source-map',
    mode: 'development',

    entry: {
        bundle: path.resolve(__dirname, 'src/ts/bundle.ts'),
    },


    output: {
        path: path.resolve(__dirname, 'dist/js/'),
        filename: '[name].js'
    },

    module: {
        rules: [{
            test: /\.ts$|js/,
            use: 'ts-loader',
            include: [
                path.resolve(__dirname, 'src/js/')
            ]
        }]
    }
}

1 Ответ

1 голос
/ 17 июня 2020

У вас в webpack.config.js есть типо, либо удалите, либо исправьте. Вы указали, что он запускается только в определенных папках, поэтому указанный вами файл, расположенный в /src/ts/, игнорируется ts-loader.

// ...rest of webpack.config.js
    include: [
        path.resolve(__dirname, 'src/js/')
    ]
// ...rest of webpack.config.js

до

// ...rest of webpack.config.js
    include: [
        path.resolve(__dirname, 'src/ts/')
    ]
// ...rest of webpack.config.js
...