问题描述
我想在 angular 编译器之前剥离 ts 代码。 这是编译前的样子:
...
/* prod:start */
const title: string = "Production title!"
/* prod:end */
/* dev:start */
const title: string = "Dev title!"
/* dev:end */
为了去除 ts 代码,我在自定义 webpack 配置中使用了 webpack-remove-block-loader 加载器
module.exports = {
module: {
rules: [
{
test: /\.ts$/,exclude: /node_modules/,enforce: 'pre',use: [
{
loader: 'webpack-remove-block-loader',options: {
active: true,blocks: excludedClients.blocks,},],plugins: [
new webpack.DefinePlugin({
...
为了使自定义 webpack 工作,我在 angular.json 中使用 @angular-builders/custom-webpack 和这个配置:
"build": {
"builder": "@angular-builders/custom-webpack:browser","options": {
"customWebpackConfig": {
"path": "./custom-webpack.config.js","mergeRules": {
"module": {
"rules": "prepend"
}
},...
问题是它不起作用。如果我从自定义 webpack 配置中删除 enforce: 'pre' 标志,用于去除 ts 代码的加载器 - 它会从已经编译的 ts 文件中删除代码块,这是错误的,否则使用 enforce : 'pre' 它应该在 angular 编译器之前工作,但它没有,代码仍然对两种类型的构建(prod/dev)都有注释。
是的,我知道可以使用 environment.ts
文件中的选项,但它不够灵活。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)