在TypeScript+Webpack3环境下如何使用InfernoJS的dev:module入口点?
解决Inferno在Webpack Dev Server中提示使用dev:module入口的问题
别担心,这个问题其实很好解决,核心就是让Webpack在开发环境下优先加载Inferno的开发构建版本,而不是默认的生产版本。下面是具体的配置步骤:
1. 修改Webpack配置,添加别名映射
在你的Webpack 3配置文件中,找到resolve配置项,添加alias来替换Inferno的默认入口为它的开发模块:
const path = require('path'); module.exports = { // ... 其他已有配置(entry、module等) resolve: { alias: { // 直接指向Inferno的dev:module对应的文件 'inferno': path.resolve(__dirname, 'node_modules/inferno/dist/inferno.dev.esm.js'), // 如果用到了inferno-component,也可以同步替换 'inferno-component': path.resolve(__dirname, 'node_modules/inferno-component/dist/inferno-component.dev.esm.js') } } };
你可以去node_modules/inferno/package.json里确认dev:module字段的值,通常就是dist/inferno.dev.esm.js,直接映射这个文件就能让Webpack加载开发版本。
2. 确保开发环境的NODE_ENV设置正确
Inferno的开发构建依赖NODE_ENV环境变量来启用调试和警告功能,所以要在Webpack插件中添加DefinePlugin来设置环境:
const webpack = require('webpack'); module.exports = { // ... 其他配置 plugins: [ // ... 已有插件 new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('development') }) ] };
3. 验证配置
完成上述修改后,重启webpack-dev-server,浏览器控制台里的提示应该就会消失了,同时你会获得Inferno开发版本带来的调试友好提示和错误信息,更方便开发过程中的问题排查。
内容的提问来源于stack exchange,提问作者Rob Bacon
相关产品推荐
相关产品推荐

