使用webpack从bundle中排除ts / js文件

时间:2016-12-27 16:37:41

标签: angular webpack bundle bundler ts-loader

我是webpack的新手。目前我正在使用webpack处理angular2应用程序。作为要求的一部分,我们希望有一个不应捆绑的设置文件,以便在捆绑后也可以更改settings.js文件中的URL。

以下是两个文件的代码。

settings.ts

const foo = {
    url:'localhost'
};
export { foo };

script.ts

import { foo }  from 'settings';

两个ts文件将在bundle之前编译为js文件。现在我想从bundle中排除settings.ts文件,并想在dist文件夹中单独复制setting.ts文件。

下面是webpack.config文件

loaders: [

            {
                test: /\.ts$/,
                loaders: ['awesome-typescript-loader', 
                          'angular2-template-loader'],
                exclude: [/\settings.ts$/]
            },
]

我发现这没有运气。

我可以使用CopyWebpackPlugin复制dist文件夹中的settings.js文件。但是无法从捆绑中排除settings.ts文件。

以下是文件夹结构的屏幕截图。 Webpack.config与src文件夹

处于同一级别

enter image description here

2 个答案:

答案 0 :(得分:0)

试试这样:

exclude: [
  path.resolve(__dirname, '/settings.ts'),
]

根据this GitHub issue的建议。

答案 1 :(得分:0)

现在我正在使用angular 7,并将文件路径放在angular.json的“资产”列表中。

 "assets": [
                 "src/assets",
                 "src/config/settings.json",

           ],