我的应用程序在没有路由器的情况下工作得很好。我正在使用这个nathantreid:css-modules
包,它允许你的 react 组件使用模块化 css。在我的 imports/ui/Navbar 目录中,我有 Navbar.jsx,其中包含:
// Custom Dependencies
import s from './Navbar.scss';
import NavButton from './NavButton/NavButton';
当我让应用程序加载 client/main.jsx 中的组件时,使用以下内容:
Meteor.startup(() => {
render(<App />, document.getElementById('render-target'));
});
它可以工作,但是当我添加反应或流路由器并创建路由时它不起作用:
FlowRouter.route('/', {
action() {
mount(App);
}
});
它抛出以下内容:
W20160520-10:09:25.659(-7)? (STDERR) Error: Cannot find module './Navbar.scss'
W20160520-10:09:25.659(-7)? (STDERR) at require (packages/modules-runtime/.npm/package/node_modules/install/install.js:78:1)
W20160520-10:09:25.659(-7)? (STDERR) at meteorInstall.imports.ui.Navbar.Navbar.jsx (imports/ui/Navbar/Navbar.jsx:7:1)
W20160520-10:09:25.659(-7)? (STDERR) at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:141:1)
对于我如何解决此问题的任何技术见解,我将不胜感激。
另外我想指出,我尝试过相对路径和绝对路径,但基本问题是它只在我添加路由器时查找 NPM 包(或者至少这是我对正在发生的事情的解释)。