当前要在本地安装和运行 material-ui 文档,它需要两个npm install,一个在 material-ui 中,另一个在 material-ui/docs 中。
cd <project folder>/material-ui
npm install
cd <project folder>/material-ui/docs
npm install
但我想使用 docs 站点作为创建我自己的应用程序的起点。如何在不安装整个 material-ui 的情况下安装文档?我已经尝试将"material-ui": "^0.14.4",, 和所有依赖项添加material-ui/package.json到material-ui/docs/package.json.
这样,npm install不会抱怨任何事情,但是当我这样做npm run start或时npm run browser:development,它不起作用。相反,它会吐出一大堆错误消息(请参阅下文了解其中的一部分)。
ERROR in ../src/table/table-header-column.jsx
Module build failed: ReferenceError: Unknown plugin "transform-replace-object-assign" specified in "/home/ubuntu/repos/tutorials/mui/.babelrc" at 0, attempted to resolve relative to "/home/ubuntu/repos/tutorials/mui"
.....
请指教!谢谢。
我稍后会解释为什么我要这样做。这是问题所在。我有一个返回如下承诺的函数:
const testFunc = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (Math.random() > 0.5) {
resolve('succeeded');
} else {
reject('failed');
}
}, 1000);
});
};
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,我可以像这样调用它:
testFunc()
.then((result) => console.log(result)) // 'succeeded'
.catch((error) => console.log(error)); // 'failed'
Run Code Online (Sandbox Code Playgroud)
或者将它分配给一个变量并像这样调用它
const testFuncVar = testFunc;
testFuncVar()
.then((result) => console.log(result)) // 'succeeded'
.catch((error) => console.log(error)); // 'failed'
Run Code Online (Sandbox Code Playgroud)
这些都在意料之中。但是,一旦我将该函数置于 redux 状态,然后从那里调用它,它就不再起作用了。这是我所做的(非常简化)。
const initialState = {testFunc: testFunc};
// redux reducer, action creator, etc.
...
...
// somewhere later. Here I'm …Run Code Online (Sandbox Code Playgroud)