如何在React Starter Kit中解决'./assets'中的导入资产

时间:2016-11-23 17:00:45

标签: javascript reactjs react-starter-kit

server.js资产are imported就像这样

import assets from './assets';

如果我理解正确,此路径将映射到build/public/assets,这是通过此处的webpack配置生成的:

output: {
  path: path.resolve(__dirname, '../build/public/assets'),
  publicPath: '/assets/',
  sourcePrefix: '  ',
  pathinfo: isVerbose,
},

或者我错了吗?当我运行webpack时,我仍然遇到:

ERROR in ./src/server.js
Module not found: Error: Cannot resolve 'file' or 'directory' ./assets

这里的问题基本上不是如何让它运行,但为什么即使import assets from './assets';内没有assets.js,也可以解决React Starter Kit中的行src。< / p>

2 个答案:

答案 0 :(得分:0)

你需要先建立项目:

npm run build

这将创建包含assets.js文件的build文件夹。

答案 1 :(得分:0)

查看/tools文件夹中的webpack.config.js文件。

正在使用assets-webpack-plugin将资产捆绑到命名空间clientvender模块中。

运行npm run build后,webpack将生成的构建输出到build/public/assets文件夹。由于src/server.js引用./assets作为相对路径而不是固定路径,因此捆绑后它将运行,并且您从server.js目录运行build/public

本自述文件也很有用:Build Automation Tools