这是在实际开发过程中遇到的问题。
遇到这个问题的契机:
我要开发一套底层框架,所有由此派生出的【一系列项目】可以直接引用这个项目,然后在此基础上添加业务。那么,ui 框架和 webpack 自然是不可或缺。于是,在配置这些 loader 的时候,因为为了让 webpack 更加高效,自然地使用了:
exclude: /node_modules/,
这样的配置。
于是我将它作为底层依赖框架,新建了一个实际项目,然后通过 package.json 引入这个项目,从它里面导出 webpack.config.js 并运行,发现我的模板以及语法无法被编译。
而当我删掉上面的配置之后,就可以正常编译了。
所以,这里是犯了一个明显的低级错误,底层依赖框架的代码位于 ./node_modules 中,而我的 loader 却把这里面的代码排除了。
所以我对 loader 的配置进行了更改,虽然还是要排除 ./node_modules,但是包含了自己的包,让 loader 不会忽略这些包:
include: resolve(__dirname,'../web'), // 我的包的内容的路径