我试图在我的 javascript 项目中锁定 node 和 npm 版本,以确保其他开发人员在构建要提交的包时拥有这些特定版本。我刚刚将它添加到我的 package.json 中:
"engineStrict" : true,
"engines": {
"node" : "10.10.0",
"npm" : "6.5.0"
},
Run Code Online (Sandbox Code Playgroud)
这会最终强制执行这些版本吗?我不熟悉锁定版本,因为我曾经是前端项目或已设置此设置的继承项目的唯一开发人员。
或者,添加一个.nvmrc
指定相同版本的文件是否有好处,或者如果我使用引擎是多余的?
给出下面的代码,我对操作顺序如何恰好获得二叉搜索树的有序遍历感到有点困惑。
BinarySearchTree.prototype.inOrder = function() {
if (this.root == null) {
return null;
} else {
var result = new Array();
function traverseInOrder(node) {
node.left && traverseInOrder(node.left);
result.push(node.data);
node.right && traverseInOrder(node.right);
}
traverseInOrder(this.root);
return result;
};
}
Run Code Online (Sandbox Code Playgroud)
我尝试添加调试器语句并遵循,但我迷失了方向:
function traverseInOrder(node) {
node.left && traverseInOrder(node.left); //step 1
result.push(node.data); //step 2
node.right && traverseInOrder(node.right); //step 3
}
Run Code Online (Sandbox Code Playgroud)
node.left && traverseInOrder(node.left);
(步骤 1)运行然后再次运行然后再次运行。最后,当没有时node.left
,步骤 2 被调用:result.push(node.data);
这是它让我迷失的部分。现在它尝试运行node.right && traverseInOrder(node.right)
,但没有node.right
运行,但它没有退出该函数,而是返回到步骤 2 result.push(node.data);
,。
这是从步骤 1 中的多个递归调用中排队的吗?
我要从此数组返回JSON,但是的值total
是字符串格式-不是浮点型。不知道我在做什么错。
这是数组,最后有一个字符串:
return [
'cart' => [
'total' => amount($cart->total)
]
]
Run Code Online (Sandbox Code Playgroud)
这是amount
辅助方法,问题出在哪里:
function amount($money)
{
return number_format(floatval($money), 2);
}
Run Code Online (Sandbox Code Playgroud)
我期望从total
,而不是字符串返回。
我正在将 Vue 与现有的 Laravel 设置一起使用。当我运行时npm run production
,包大小相当大,为 1.1MB。只有几个组件,我相信是 Vuetify 占据了这个大小。
我过去曾将 Vue 与 Laravel 一起使用,并且组件比这多得多,而且捆绑包只有 300KB,所以我认为罪魁祸首一定是 Vuetify。
有没有办法在不摆脱 Vuetify 的情况下进一步减少这种情况?我webpack.mix.js
也复制了我的文件。这里是否有我错过的可以减少捆绑包大小的优化?
main.js
window.axios = require('axios');
import Vue from 'vue';
import Vuex from 'vuex';
import store from './store/store';
import Vuetify from 'vuetify';
import 'vuetify/dist/vuetify.min.css';
import ReferralSetup from './components/admin/ReferralSetup';
import ReferralStats from './components/admin/ReferralStats';
import ReferralInstructional from './components/admin/ReferralInstructional';
import BoxSection from './components/admin/BoxSection';
Vue.use(Vuetify);
Vue.component('referral-setup', ReferralSetup);
Vue.component('referral-stats', ReferralStats);
Vue.component('referral-instructional', ReferralInstructional);
Vue.component('box-section', BoxSection);
Run Code Online (Sandbox Code Playgroud)
webpack.mix.js
let mix = require('laravel-mix');
let VueLoaderPlugin = require('vue-loader/lib/plugin') …
Run Code Online (Sandbox Code Playgroud) After a database query, I have a variable $orderProducts
which when I print_r
it, it looks like this below. I am trying to add a field to it (but not save it) before the frontend consumes it. I am trying to loop through it like this:
$orderProducts = Order::with('customer', 'orderProducts.inventory_id')->find(260);
foreach ($orderProducts as $orderProduct) {
$orderProduct->scanned = "N/A";
}
Run Code Online (Sandbox Code Playgroud)
I keep getting the attempt to assign property of non-object error
though. Am I approaching this wrong?
$orderProducts
=> App\Models\Order {#1856 …
Run Code Online (Sandbox Code Playgroud) javascript ×2
laravel ×2
php ×2
node.js ×1
npm ×1
package.json ×1
recursion ×1
vue.js ×1
vuetify.js ×1