Javascript 如何从内置文件中排除文件类型?
在Angular 9项目中,我使用两种环境:生产环境和模拟环境 我希望: 当我运行ng build-prod时 那么模拟文件不应该包含在js包中 我正在使用扩展名.mock.ts来创建mock文件,并创建mock文件夹,以便它们更易于过滤 我认为这可以通过webpack实现,但我无法做到: 项目结构: 这是我在angular.json文件中的构建配置: 这是我的webpack.config.js: 常量路径=要求“路径”; module.exports={ 模式:"发展",, //确保源映射工作正常 devtool:“评估源地图”, //网页包将传输TS和JS文件 决心:{ 扩展名:['.ts','.js'], }, 输出:{ 文件名:“bundle.js”, 路径:path.resolve__dirname,“dist”, }, 模块:{ 规则:[ { 测试:/\.ts$/,, 排除:['/node_modules/','/src/app/integration'], 使用:[ { 加载器:“ts加载器”, 选项:{ transpileOnly:是的, }, }, ], }, ], }, };Javascript 如何从内置文件中排除文件类型?,javascript,angular,typescript,webpack,mocking,Javascript,Angular,Typescript,Webpack,Mocking,在Angular 9项目中,我使用两种环境:生产环境和模拟环境 我希望: 当我运行ng build-prod时 那么模拟文件不应该包含在js包中 我正在使用扩展名.mock.ts来创建mock文件,并创建mock文件夹,以便它们更易于过滤 我认为这可以通过webpack实现,但我无法做到: 项目结构: 这是我在angular.json文件中的构建配置: 这是我的webpack.config.js: 常量路径=要求“路径”; module.exports={ 模式:"发展",, //确保源映射工作
src文件夹中的tsconfig.app.json文件对此有一个特定的排除部分。如果您的mocks目录位于src之外,您必须在项目的根目录中尝试主tsconfig.json。您能检查一下吗
排除:[***.mock.ts]我找到的唯一解决方案是创建模拟服务,因此模拟文件将仅用于此模拟服务 根据环境的不同,如果是生产环境,则这些服务不会注入模块中,因此模拟也不会
|- app
|- integration
|- country
|- mocks
get-countries.mock.ts
country.service.mock.ts
country.service.ts
|- device
|- mocks
get-devices.mock.ts
device.service.mock.ts
device.service.ts
我已经尝试将exclude:[**/mocks/,**.mock.ts]添加到我的tsconfig.app.json中,但mock仍然在包中。你能举个例子吗?谢谢关闭,尝试**/*.mock.tst无效。My tsconfig.app.json:```{extends:./tsconfig.json,编译器选项:{outDir:./out tsc/app,type:[]},angularcomileoptions:{enableIvy:true},files:[src/main.ts,src/polyfills.ts],exclude:[*/.mock.ts]}``不起作用。我尝试将其添加到tsconfig.app.json、tsconfig.json和webpack.config.js中
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
...
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
},
"mock": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.mock.ts"
}
]
}
}
},
}
|- app
|- integration
|- country
|- mocks
get-countries.mock.ts
country.service.mock.ts
country.service.ts
|- device
|- mocks
get-devices.mock.ts
device.service.mock.ts
device.service.ts