2016-12-27 7 views
3

Я новичок в webpack. В настоящее время я работаю над угловым применением приложения с webpack. В рамках требования мы хотим иметь файл настроек, который не следует связывать, чтобы можно было изменить URL-адрес в файле settings.js после пакета.Исключить ts/js файл из пакета с помощью webpack

Ниже приведен код для двух файлов.

settings.ts

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

script.ts

import { foo } from 'settings'; 

Оба т.с. файлы будут скомпилированы в JS-файла перед расслоением. И теперь я хочу исключить файл settings.ts из пакета и хочу скопировать файл settings.ts в папку dist.

Ниже файл webpack.config

loaders: [ 

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

я не нашел никакой удачи с этим.

Я могу скопировать файл settings.js в папку dist с помощью CopyWebpackPlugin. Но не удалось исключить файл settings.ts из пакета.

Ниже приведен скриншот структуры папок. Webpack.config находится на том же уровне, что и папку Src

enter image description here

+0

Вместо этого в файле settings.ts я готов использовать json-файл, который будет иметь свойство url. –

+0

Добавьте скриншот вашей структуры папок. – tomepejo

+0

Возможно, вам нужно что-то вроде ** исключить: /app/settings/settings.ts** Без угловых скобок и косой черты. – tomepejo

ответ

0

Попробуйте так:

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

Как было предложено на this GitHub issue.

+1

Исправлено исключение: [path.resolve (__ dirname, 'src/app/config/settings.ts')]. Это дает мне ошибку: «вам может понадобиться соответствующий загрузчик для обработки этого типа файла» –