Исключить папку из веб-пакета - PullRequest
0 голосов
/ 19 января 2020

В моем приложении есть подпроект, содержащий файл, который не компилируется: misc/index.ts

Как сделать так, чтобы веб-пакет полностью игнорировал этот файл или папку?

Как для воспроизведения

webpack --mode development

Ожидаемое поведение

Webpack работает успешно, как если бы папка misc не существовала.

Фактическое поведение

Webpack жалуется на misc/index.ts не компиляцию.

Дополнительные примечания

Файл misc/index.ts не требуется нигде.

Файл misc/index.ts не компилируется специально, потому что я хочу, чтобы webpack полностью игнорировал эту папку.

В идеале, я бы хотел указать webpack на включите некоторые файлы, а не исключайте некоторые.

Структура проекта

.
├── misc
│   └── index.ts
├── node_modules
├── package.json
├── package-lock.json
├── README.md
├── src
│   └── index.ts
├── tsconfig.json
└── webpack.config.js

Вы можете попробовать его на https://github.com/sguillia/webpack-exclude: просто клонировать и сделать npm run build

То, что я пробовал

Я не нашел возможности заставить webpack игнорировать папку.

* 10 55 * Правило исключения не определяет, какие файлы анализируются веб-пакетом, как объяснено здесь .

У меня тоже не было успеха с module.noParse.

webpack.config. js

//@ts-check

"use strict"

const path = require("path")

/**@type {import('webpack').Configuration}*/
const config = {
    target: "node",

    entry: "./src/index.ts",
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "bundle.js",
        libraryTarget: "commonjs",
        devtoolModuleFilenameTemplate: "../[resource-path]",
    },
    devtool: "source-map",
    resolve: {
        extensions: [".ts"],
    },
    module: {
        rules: [
            {
                test: /\.ts$/,
                exclude: /node_modules/,
                use: [
                    {
                        loader: "ts-loader",
                    },
                ],
            },
            {
                test: /\.ts$/,
                exclude: /misc/,
            },
        ],
    },
}
module.exports = config

1 Ответ

0 голосов
/ 22 января 2020

Проблема произошла и с Typescript (tsc -p .)

Решение в tsconfig. json:

{
  "compilerOptions": {
    "outDir": "./dist",
    "rootDir": "./src",
  },
  "include": [
    "src"
  ]
}

Таким образом, я могу выбрать в файлах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...